我在遠程機器上安裝了一個java程序Desktop/testfolder/xyz.jar。使用shell腳本的遠程機器上的多個命令
它在同一個文件夾上也有一個配置文件。當我SSH到機器,我做的:
"ssh [email protected] java -cp Desktop/testfolder/xyz.jar Main"
這裏的問題是配置文件不在路徑,因爲我們是在主文件夾,所以我的程序不能電文讀出的配置。
所以我想先進入該文件夾,然後從該文件夾運行程序。 在一個shell腳本,如果我這樣做
"ssh [email protected] cd Desktop/testfolder"
"java -cp xyz.jar Main"
它執行的第一個語句和運行第二個語句當它運行我目前的機器不能在遠程機器上。
我們可以只做一個命令,或者有其他解決方案嗎?
謝謝 Lalith
感謝您的評論幫助! – Lalith 2010-10-16 19:06:25
不客氣! Trey和我的答案在命令的第一部分「工作」時做了同樣的事情 - 如果第一部分失敗,帶有&&的版本不執行命令的第二部分。例如,比較'ssh [email protected]「cd/non-existant; ls -l」'到'ssh [email protected]「cd/non-existant && ls -l」'。在第一種情況下,你仍然可以從'ls -l'命令得到一些輸出(即使'cd'失敗 - 可能是你的用戶的主目錄),在後一種情況下,'ls -l'命令是由於第一個*操作數*返回* false *而被忽略。 – Robin 2010-10-16 21:03:48
感謝'&&'提示。很有用 – 2011-01-06 12:27:48