linux - 在远程机器上执行多个命令

标签 linux unix ssh command

在下面的命令中,我尝试 ssh 命令并执行多个命令。如果任何命令失败,我如何退出,即,如果 !command1 退出,那么如果 !command1 和 !commnd 2 退出,否则执行命令 3远程机器。我怎样才能做到这一点

 ssh login.com "git clone --bare <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c5aba0b285a9aaa2acabf7eba6aaa8" rel="noreferrer noopener nofollow">[email protected]</a>/repo/ /home/usr1/repo/ && \
                cd /home/usr1/repo/info/                               && \
                echo "hello world" > .a.txt"

最佳答案

只要确保您的引号不冲突即可:

ssh login.com \
   'git clone --bare <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="214f4456614d4e46484f130f424e4c" rel="noreferrer noopener nofollow">[email protected]</a>/repo/ /home/usr1/repo/ &&
    cd /home/usr1/repo/info/ &&
    echo "hello world" > .a.txt'

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

ssh login.com \
   'git clone --bare <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cca2a9bb8ca0a3aba5a2fee2afa3a1" rel="noreferrer noopener nofollow">[email protected]</a>/repo/ /home/usr1/repo/ &&
    cd /home/usr1/repo/info/ &&
    echo "hello world"' > .a.txt

关于linux - 在远程机器上执行多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9817950/

相关文章:

C++ linux 在部署环境中安装可执行文件

c# - 如何在 Windows 机器上为 Linux 编译 .NET Core 应用程序

ruby-on-rails - 执行 "mina setup"时没有任何反应

linux - 在多个节点修改配置文件

php - 在处理来自 ffmpeg 的输入时将数据推送到网络浏览器

linux - 如何使用 UNIX-C/C++ 列出所有正在运行的进程

java - 需要有关 java.io.UnixFileSystem.rename0 的信息

unix - 使用 wget 从受密码保护的链接下载文件

configuration - 具有非标准 SSH 端口的 Gitlab(在具有 Iptable 转发的 VM 上)

linux - Trustzone:CPU0 非安全,CPU1 安全