在远程计算机上执行多个命令

时间:2012-03-22 07:18:56

标签: linux unix ssh command

在以下命令中,我尝试ssh命令并执行多个命令。如果任何命令失败,我可以退出,即如果!command1退出,那么!command1和!commnd 2退出,否则执行命令3远程机器。我怎么能实现这个

 ssh login.com "git clone --bare new@login2.com/repo/ /home/usr1/repo/ && \
                cd /home/usr1/repo/info/                               && \
                echo "hello world" > .a.txt"

2 个答案:

答案 0 :(得分:1)

你在那里会做什么 - &&链接意味着下一个命令只有在前一个命令成功时才会运行。

$ true && false && echo "here"
$ true && true && echo "here"
here
$

答案 1 :(得分:1)

请确保您的报价不会发生冲突:

ssh login.com \
   'git clone --bare new@login2.com/repo/ /home/usr1/repo/ &&
    cd /home/usr1/repo/info/ &&
    echo "hello world" > .a.txt'

这假设您想在服务器上保留a.txt,否则为

ssh login.com \
   'git clone --bare new@login2.com/repo/ /home/usr1/repo/ &&
    cd /home/usr1/repo/info/ &&
    echo "hello world"' > .a.txt