我们有
bash -version
GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)
以下 shell 选项的含义是什么(在 bash 脚本中)
shopt -s nullglob extglob
取消它的相反方法是什么?
答案1
shopt -u
您可以使用in取消设置 shell 选项bash
。
shopt -u nullglob extglob
将取消设置这两个选项。这在bash
手册和help shopt
交互式 shell 中都有解释bash
。
这里提到的具体选项在bash
手册中有详细记录,但简而言之,它们是
nullglob
:与任何文件名都不匹配的文件名通配模式将简单地扩展为空,而不是保持未扩展状态。$ echo my*file my*file $ shopt -s nullglob $ echo my*file
(最后
echo
一个除了空行之外没有输出)extglob
:启用扩展的通配模式,例如!(this|that)
(将匹配 like*
但不匹配任何名称为this
或 的名称that
)。$ shopt -s extglob $ touch this that theother $ echo !(this|that) theother
手册中描述了各种类型的扩展通配模式
bash
。