2012-03-22 15 views
2

次のコマンドでは、sshコマンドを実行して複数のコマンドを実行しようとしています。コマンドのいずれかが失敗した場合はどうすれば終了できますか?if command1 exit then!command1および!commnd 2 exit私はあなたがそれをそこに持って行いますこれは何リモートマシンで複数のコマンドを実行する

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

答えて

1

念のあなたの引用符が競合していない行います。これは、サーバー上でA.TXT残すことを望んでいたと仮定し

ssh login.com \ 
    'git clone --bare [email protected]/repo/ /home/usr1/repo/ && 
    cd /home/usr1/repo/info/ && 
    echo "hello world" > .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

を達成することができ、リモートmachine.How上のコマンド3を、他の実行 - &&連鎖は、前が成功した場合、次のコマンドを実行のみを意味します。

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

は明らかに、OPが知っていますそれ。あなたは実際の問題に対処していません – sehe

+0

Uuhh ...なぜそれは明らかですか?彼が明らかにそれを知っていたら、どうして彼はその質問をしていますか? –

+0

公正では、Qの文言は不明です。 **しかし、**質問はあなたが示しているまったく同じ方法をはっきりと示しています。壊れた引用が問題になる可能性が高いと結論づけてくれます – sehe

関連する問題