2012-03-22 131 views
2

在以下命令中,我試圖執行ssh命令並執行多個命令。如果任何命令失敗,如果!command1退出,那麼如果!command1和!commnd 2退出在遠程machine.How否則執行命令3我能實現這個在遠程機器上執行多個命令

ssh login.com "git clone --bare [email protected]/repo/ /home/usr1/repo/ && \ 
       cd /home/usr1/repo/info/        && \ 
       echo "hello world" > .a.txt" 

回答

1

只要確保你的報價不衝突:

ssh login.com \ 
    'git clone --bare [email protected]/repo/ /home/usr1/repo/ && 
    cd /home/usr1/repo/info/ && 
    echo "hello world" > .a.txt' 

這是假設你想離開A.TXT在服務器上,otherwiseL

ssh login.com \ 
    'git clone --bare [email protected]/repo/ /home/usr1/repo/ && 
    cd /home/usr1/repo/info/ && 
    echo "hello world"' > .a.txt 
1

你有什麼會有這樣做 - 在&&鏈接將意味着下一個命令只有在以前的成功運行。

$ true && false && echo "here" 
$ true && true && echo "here" 
here 
$ 
+0

很明顯,OP知道那。你沒有解決實際問題 – sehe 2012-03-22 07:47:36

+0

Uuhh ...爲什麼這是顯而易見的?如果他顯然知道,他爲什麼會問這個問題? – 2012-03-22 16:46:16

+0

公平,Q的措辭不清楚。 **但是**這個問題清楚地顯示了您展示的完全相同的方法,導致我斷定破損的報價更可能是問題 – sehe 2012-03-22 17:10:45