Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 为什么本地命令无法在同一脚本中的远程ssh命令之后运行?_Bash_Ssh - Fatal编程技术网

Bash 为什么本地命令无法在同一脚本中的远程ssh命令之后运行?

Bash 为什么本地命令无法在同一脚本中的远程ssh命令之后运行?,bash,ssh,Bash,Ssh,我已经做了家庭作业,但我想我可能在这里混合了苹果和桔子。我的脚本设计用于运行远程内联命令系列、退出,然后运行一些其他本地命令。它必须首先在远程完成,因为这些服务是为故障转移代理提供的。问题是,在远程ssh线路断开连接后,整个脚本就停止了。我不知道为什么断开连接会中断整个脚本。也许是出口线造成的 #!/bin/bash # ### Run remote svc restarts and then Local restarts # exec ssh -t RE

我已经做了家庭作业,但我想我可能在这里混合了苹果和桔子。我的脚本设计用于运行远程内联命令系列、退出,然后运行一些其他本地命令。它必须首先在远程完成,因为这些服务是为故障转移代理提供的。问题是,在远程ssh线路断开连接后,整个脚本就停止了。我不知道为什么断开连接会中断整个脚本。也许是出口线造成的

    #!/bin/bash
    #
    ### Run remote svc restarts and then Local restarts
    #
    exec ssh -t REMOTEHOST 'stop svc1; restart svc2; start svc3; exit'
    (SCRIPT FAILS HERE)  
    ## Run local shell (This works independently, but not in the entire script)
    rst=`pgrep -n failoversvc`

    echo "Stopping 1st service at `date | awk '{print $2,$3,$4}'`" && service 1 stop >> SYNCLOG.txt
          sleep 2
    echo "Restarting 2nd service at `date | awk '{print $2,$3,$4}'`" && service 2 restart >> SYNCLOG.txt

    if rst="";then

    echo "Starting 3rd service at `date | awk '{print $2,$3,$4}'`" && service 3 start >> SYNCLOG.txt
      else 
        echo "3rd Service PID not found! Check for functionality"
    fi

我看了一眼,但没能得到我想要的结果

exec
是一个非常残酷的命令:它用指定的命令完全替换当前进程(在本例中,是运行脚本的shell)。除非
exec
失败,否则脚本中该行之后的任何内容都不会运行。这是出于设计,这就是
exec
的用途


如果希望脚本在
ssh
之后继续,只需删除
exec
exec
是一个非常残酷的命令:它用指定的命令完全替换当前进程(在本例中,是运行脚本的shell)。除非
exec
失败,否则脚本中该行之后的任何内容都不会运行。这是出于设计,这就是
exec
的用途


如果希望脚本在
ssh
之后继续,只需删除
exec

Wow。。都是因为一个小字。现在工作得很好,非常感谢!哇!都是因为一个小字。现在工作得很好,非常感谢!