bash:set 命令:通过覆盖先前的选项来启用选项

bash:set 命令:通过覆盖先前的选项来启用选项

假设的输出$-是这样的:

hims

如果我使用以下命令添加选项set

set -B

的输出$-变成这样:

himBs

但我希望它变成这样:

iBs

这样它就会覆盖以前的选项。

答案1

您可以创建以下函数来执行您想要的操作:

myset () {
    options=$-
    options=${options//[is]}  # remove "i" and "s"
    set +"$options"
    set -"$1"
}

并致电

myset B

相关内容