shell 设置noglob变数

14 noglob 变数

设定这变数noglob的的作用是停止 wildcard 功能,也就是说像符号 * ? [ ] { } ~ 等等,它们所代表的特殊作用都将失去效用。而仅仅只是代表一般的字元而已。如下面的例子所示:

% echo ~
/home1/akira
% echo *
akbin bourne cshell project soft
% set noglob
% echo ~
~
% echo *
*

看到没,在设定完变数 noglob 后,代表 home 目录的“~”与符号“*”等均失去其原有的特殊效用。所以要使用这变数请务必了解自己在做什么!否则你会以为电脑坏了?

建议您如果需要将整个 wildcard 功能暂时停用时再手动设定这个变数是最好的使用方式。如果只是二、三行指令的话我建议使用倒斜线“/”来暂时消除特殊符号的功能。这个方法同样可行。如果选择设定 noglob 变数的话,别忘了不用时您只要 unset noglob 便可以回复到设定前的使用模式了。

有时候在我们撰写 C shell 文稿会因为要常常需要将特殊符号当成一般符号使用,您可以设定这项变数将终止 wildcard 的功能,

  另一种这定方法:

set -o noglob   #设定

code 。。。。

set +o noglob  #取消设定

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章