2013-10-04 83 views
1

我想通過終端執行一些命令。我有腳本執行commands.Some命令正在工作,但試圖改變目錄時,它不會改變。沒有錯誤而執行的,是我做script.The腳本是可執行的,是下面提及:如何通過腳本文件更改目錄

make clean 
make 
cd /home/user 

它保存爲script.sh並使其可執行

+0

你有適當的權限,以進入該目錄? – hek2mgl

+2

是什麼讓你覺得它不起作用?你是否真的想通過執行腳本來改變shell中的工作目錄?您是否期望在執行所述腳本的shell中更改工作目錄? –

+1

?如果是的話:這不是它的工作原理。 – mnagel

回答

6

當前工作目錄是一個過程屬性。每個進程對其工作目錄都有獨立的價值。你的腳本可以正常工作:它改變執行它的shell進程的當前工作目錄。

如果你想讓你的交互式shell改變工作目錄,你必須指示。您可以通過將您的腳本「採購」到交互式shell中來完成。 「採購」意味着讀取腳本並通過發送它的shell執行命令。這與「執行」腳本相反,在腳本中啓動單獨的shell進程並執行腳本內容。

您可以使用source.命令來源腳本。就像這樣:

source script.sh 

或本:

. script.sh 
+0

非常感謝spbnick,它的工作正常。 –