1. 程式人生 > >shell中的set -- "$x"和set -- $x的使用

shell中的set -- "$x"和set -- $x的使用

先看下set --的英文使用說明 set –

Set 1tothevalueofx,evenifitbeginswithor+:set"1 to the value of x, even if it begins with '-' or '+' : set -- "x"

Set the positional parameters to the expansion of x, even if x expands with a leading ‘-’ or ‘+’ : set – $x

set – "$X"就是把X的值返回給$1, set – $X就是把X作為一個表示式的值一一返回

說明:set --是根據分隔符IFS,把值依次賦給$1,$2,$3,例子2就是展示這個。

例子1:

通過這個例子,就可以清楚的看到他們之間的區別。 例子2:

注意的是: set --x 使用模板是:

oIFS=$IFS //儲存系統預設分隔符 … IFS=** //設定分割符以便set – 處理字串使用

IFS=$oFIS //還原系統預設分隔符

我之前犯了個低階錯誤: IFS=oIFS 這樣會導致’o’,‘I’,‘F’,'S’都是分隔符