Bash 如何获取最新信息;“设置”;变量
我的问题最好用一个例子来解释 设置-x或设置-v“打开”功能 设置+x或设置+v“关闭”功能 但是,如果我的脚本调用了另一个脚本或shell函数,那么在另一个脚本/函数中,如何获取这些设置的状态。e、 gBash 如何获取最新信息;“设置”;变量,bash,shell,Bash,Shell,我的问题最好用一个例子来解释 设置-x或设置-v“打开”功能 设置+x或设置+v“关闭”功能 但是,如果我的脚本调用了另一个脚本或shell函数,那么在另一个脚本/函数中,如何获取这些设置的状态。e、 g # In called script/function # <save status of "set"> set -abcdef # do stuff # <restore status of "set"> 调用脚本/函
# In called script/function
# <save status of "set">
set -abcdef
# do stuff
# <restore status of "set">
调用脚本/函数中的#
#
集合-abcdef
#做事
#
谢谢 以下是简单的解决方案:
# In called script/function
(
set -abcdef
# do stuff
)
(…)
是一个子shell;当子shell完成时,它的环境也随之消亡,您将在进入时返回到环境
如果这太过激烈,您可以复制
$-
或$SHELLOPTS
以保留当前选项(SHELLOPTS
包括一些没有单字符缩写的选项,因此它更通用),然后费力地从中恢复。参数$-
包含一组单字母选项标志(尝试echo$-
;它为我生成了himBH
)。提到set+o
和shopt-p
可能会使恢复过程稍微不那么费力。。。除非你知道那些不起作用的原因。