2012-01-25 24 views
0

我希望我對'set --`錯誤的理解?

set -- "a b" 

設置$1 = "a"$2 = "b",而是它的設置$1 = "a b"$2 = ""怎麼辦?

+1

「是什麼給了」?那麼,你提供了一個論點。這就是所給的。 –

回答

3

雙引號表示應將"a b"視爲單個參數。使用

set -- a b 

將它們視爲兩個參數。

編輯迴應您的評論:喜歡這個?

$ a="a b" 
$ set -- $a 
$ echo $1 
a 
$ echo $2 
b 
+0

謝謝,那麼可以將變量設置爲「a b」,然後使用set - 分別獲取a和b? –

+0

@JamieKitson:由於評論格式的限制,回答如上。 –

+0

限制? 'a =「a b」;設置 - $ a; echo $ 1; echo $ 2;' –

0

帶引號的字符串是一個 「字」,所以你只需要:

$ set -- "a" "b"