微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在SSH的脚本中退出不起作用

我正在执行一个本地脚本,它通过SSH执行第二个脚本:

RES=$(ssh user@destination 'bash -s 2>&1' < remoteScript.sh)

我需要第二个脚本(remoteScript.sh)以代码1退出,当我检测到一个错误,这就是为什么我build立了一个函数,经过一些微妙的计算后执行

ErrorCheck() { if [ ! "$?" = "0" ] then exit 1 fi }

不幸的是,当remoteScript.sh执行继续时,出口1performance为返回指令。 根据我的testing,这与在远程脚本开始处使用sudo su – {user}有关。

在这里做错了什么? 我怎样才能使这个function,结束remoteScript.sh?

有没有办法设置窗口,让控制台窗口打开?

获取父节点的最后一个命令的退出状态

托盘应用程序允许系统在注销或退出时杀死我的程序

为什么TCL期望退出

Python的Tkinter – closures一个退出button的子窗口

编辑:

我正在添加一个非常有限的远程脚本示例。 我试过在本地运行它,它的工作原理。 它通过SSH运行只是失败。

sudo su - {user} DelicateFunction() { # The following instruction fails thisisanerror123 ErrorCheck } ErrorCheck() { if [ ! "$?" = "0" ] then exit 1 fi } printf "Executing DelicateFunctionn" DelicateFunction printf "I should not print!"

可能svn出口和包括未版本控制的文件

唯一不会退出方法是在子shell中运行。 exit保证退出它的shell。

顺便说一句,你可以写ErrorCheck更简单:

ErrorCheck() { [ $? = 0 ] || exit 1 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐