加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Bash脚本退出错误(set -e)关闭putty SSH会话

发布时间:2020-12-15 18:35:21 所属栏目:安全 来源:网络整理
导读:我正在使用set -e强制我的脚本在运行命令时发生错误时退出. 然而,这有关闭我的putty终端窗口的副作用,我用来通过SSH连接到主机. 如何阻止终端关闭? 你是如何运行脚本的?子进程退出的情况不应该影响运行它的 shell …除非您将脚本提供给正在运行的shell. 例
我正在使用set -e强制我的脚本在运行命令时发生错误时退出.
然而,这有关闭我的putty终端窗口的副作用,我用来通过SSH连接到主机.

如何阻止终端关闭?

你是如何运行脚本的?子进程退出的情况不应该影响运行它的 shell …除非您将脚本提供给正在运行的shell.

例如…

./my-script.sh # this should terminate and leave your shell intact
. my-script.sh # this might terminate and take your shell with it

‘nix shell是一些shell解释器的运行过程(例如,bash,ksh,csh). “源”一个脚本(您可以使用命令源或其别名在bash中执行.)告诉解释器打开指定的文件并处理其内容.实际上,该脚本成为以交互方式输入命令的快捷方式.定义的函数,变量集和(在您的情况下)退出处理在原始shell中生效.

./my-script.sh是一个简单的文件路径. ./将当前目录和my-script.sh引用到该目录中的脚本.当文件标记为可执行文件时,将执行该文件.对于脚本,这意味着启动一个新的解释器进程(由脚本顶部的#!行定义,或默认为/ bin / sh)并使用它来解释脚本.定义的函数,变量集和退出处理仅限于新的解释器进程.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读