2013-05-15 107 views
0

我有兩個shell腳本;讓我們調用這些script1和script2。從ssh調用嵌套的shell腳本

在script1中我調用script2。當我打電話SCRIPT1從我的本地終端它很好地工作,但是當我通過SSH啓動此命令是這樣的:

plink.exe -ssh hostname -l user -pw password "path to script1/script1" 

我得到這個錯誤:

script2 not found.

現在我可以把絕對路徑內腳本1調用腳本2,但問題是腳本2調用其他腳本等...

我可以避免從根目錄查找ssh命令嗎?

回答

1

在SCRIPT1,嘗試,如果在腳本的開頭加入這有助於:

cd $(dirname "$0") 

或致電PUSHD/POPD各地調用SCRIPT2。

pushd $(dirname "$0") 
relative_path_for_script2/script2 arg1 arg2 ... 
popd 

如果在從終端手動調用,您需要從一個特定的目錄執行script1,說/tmppushd該目錄來代替。

0

PATH設置爲script1或在調用它的代碼中。