在以下命令中,我尝试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"
答案 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