mrg*_*mrg 5 unix linux bash shell
什么是$ - 在Unix中的使用.在我的系统中,输出是,
$ echo $-
himBH
$
Run Code Online (Sandbox Code Playgroud)
什么是他的意思?它代表什么.
提前致谢...
它返回当前shell的标志.该$-变量包含终端中当前活动的shell标志.这些标志确定shell将如何为您运行.在您的情况下,这些标志具有以下含义(请注意,所有这些都是默认值):
h:"hashall"的缩写(读为"hash all"),这告诉bash通过查询PATH记住它找到的命令的位置.
i:"交互式"的缩写,这很好,因为这是一个与我交互的shell(输入输入和返回输出)!1
m:"监视器"的缩写,这可以在bash中启用作业控制(例如,您可以通过bg将作业发送到后台).
B:"braceexpand"的缩写(读作"大括号扩展"),这允许你在bash2中使用非常有效的大括号扩展.
H:"histexpand"的缩写(读作"hist [history] expand"),这使您可以通过使用感叹号为其编号来重新运行历史记录中的命令3.
可以使用该set命令更改这些标志.例如 :
set +H
echo $-
himB
Run Code Online (Sandbox Code Playgroud)
删除H标志.而-
set -H
echo $-
himBH
Run Code Online (Sandbox Code Playgroud)
恢复它.就是这样,有点混乱,但+删除了一个标志,而-添加了一个标志.
更多信息: