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

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