我想爲用戶編寫cript來設置安裝路徑。 我用這在shell中使用變量的路徑
read $file_path
cd $file_path
但它並沒有改變,以保存該變量的路徑。 我該如何設置這個,因爲這似乎是錯誤的方式?
我想爲用戶編寫cript來設置安裝路徑。 我用這在shell中使用變量的路徑
read $file_path
cd $file_path
但它並沒有改變,以保存該變量的路徑。 我該如何設置這個,因爲這似乎是錯誤的方式?
read
不使用$
來讀取變量。因此,它應該是
read file_path
cd $file_path
字裏行間有點讀書,我想你想打電話給你希望改變呼叫者目錄的腳本:例如:
的MyScript:
read file_path
cd "$file_path"
命令行:
./myscript
你發現它沒有改變目錄。這是因爲你在一個子進程中運行腳本。它會更改孩子的當前目錄,然後返回到不受影響的父級。
您需要源文件,而不是,就是在當前進程中運行的命令,而不是單獨的一個:
. ./myscript
是,在注意額外的「點」 .
開始。這通常被稱爲source
命令,您可以使用source
而不是bash和csh上的'dot'。
同樣的問題,即使當我改變爲 – Hobbit1919
@ user2250162路徑是否存在?嘗試執行'echo $ file; path ls $ file_path'來查看它是否正確得到它。 – fedorqui
echo打印路徑,但cd不更改目錄 – Hobbit1919