我正在执行一个本地脚本,它通过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!"
唯一不会退出的方法是在子shell中运行。 exit保证退出它的shell。
顺便说一句,你可以写ErrorCheck更简单:
ErrorCheck() { [ $? = 0 ] || exit 1 }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。