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