farmer-logo.gif (14959 bytes) cshell-logo.gif (19625 bytes)
ch-4.gif (10100 bytes)
main-b.gif (271 bytes)


mail.gif (2925 bytes)

4-2-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 的功能,關於這點我們在下一章中再為你舉例說明之。

b-line.gif (2092 bytes)