[英]Use of $- in shell script
什么是$ - 在Unix中的使用。 在我的系统中,输出是,
$ echo $-
himBH
$
什么是他的意思? 它代表什么。
提前致谢...
它返回当前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
删除H
标志。 鉴于-
set -H
echo $-
himBH
恢复它。 就是这样,有点令人困惑但是+
删除了一个标志,而-
添加了一个标志。
更多信息:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.