通過腳本切換工作目錄,剛開始覺得很簡單,直接在腳本中寫一個cd語句就搞定了。
但是,其實不然。
執行腳本時候,只是在當前的shell下開了一個子進程,切換目錄的操作只對該進程中相關后續指令有效,但改變不了父進程的目錄。
因此,當你寫好了腳本,並且調用執行時,你的當前工作目錄並沒有變化。
那么,解決方案呢?
有兩種方式解決(都是執行腳本的方式不同,腳本內容依然是一個cd語句。假定腳本為change.sh):
- source change.sh
- . ./change.sh
第一個點是bash的內部命令,表示在當前shell中運行
后面的“./change.sh”是命令的參數,即要執行的腳本(注:兩點之間要有空格)