$- 在 Unix 中有什么用。在我的系统中,输出是,
$ echo $-
himBH
$
他BH是什么意思?它代表什么。
提前致谢...
最佳答案
它返回当前 shell 的标志。 $-
变量包含终端中当前处于事件状态的 shell 标志。这些标志决定了你的 shell 如何为你工作。在您的情况下,这些标志具有以下含义(请注意,所有这些都是默认值):
h:“hashall”的缩写(读作“hash all”),它告诉 bash 记住它通过查询你找到的命令的位置 路径。
i:“interactive”的缩写,很好,因为这是一个shell 我正在与之交互(输入输入并取回输出)!1
m:“monitor”的缩写,这可以在 bash 中启用作业控制(因此您可以 例如,通过 bg 将作业发送到后台)。
B:“braceexpand”的缩写(读作“brace expand”),这允许您 在 bash2 中使用非常有效的大括号扩展。
H:“histexpand”的缩写(读作“hist [history] expand”),这是 是什么使您能够通过开头重新运行历史记录中的命令 它的编号带有感叹号3。
可以使用 set
命令更改这些标志。例如:
set +H
echo $-
himB
删除 H
标志。而 -
set -H
echo $-
himBH
恢复它。就是这样,有点令人困惑,但是 +
删除了一个标志,而 -
添加了一个标志。
更多信息:
关于linux - 在 shell 脚本中使用 $-,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31534079/