2012-01-25 15 views
0

は私が`set - の私の理解は間違っていますか?

set -- "a b" 

$1 = "a"$2 = "b"を設定するには、代わりに与えるもの$2 = ""$1 = "a b"を設定しています期待しますか?

+1

"何ができますか"?あなたは1つの議論をしました。それが与えるものです。 –

答えて

3

二重引用符は、"a b"が単一のパラメータとして扱われるべきであることを示します。

set -- a b 

を2つのパラメータとして扱います。

あなたのコメントに対応編集::Like this?あなたは、単に必要なので

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

ありがとう、変数を "a b"に設定し、set - を使ってaとbを別々に得ることは可能ですか? –

+0

@JamieKitson:コメントの書式設定の制限のため上記に答えました。 –

+0

制限? 'a =" a b ";セット - $ a;エコー$ 1; echo $ 2; ' –

0

引用符で囲まれた文字列は、単一の "言葉" である:

$ set -- "a" "b" 
関連する問題