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 #取消设定