我对`set - '的理解错了?

时间:2012-01-25 13:53:42

标签: bash shell unix

我希望

set -- "a b"

设置$1 = "a"$2 = "b",而是设置$1 = "a b"$2 = ""给出了什么?

2 个答案:

答案 0 :(得分:3)

双引号表示"a b"应被视为单个参数。使用

set -- a b

将它们视为两个参数。

编辑以回复您的评论:喜欢这个?

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

答案 1 :(得分:0)

带引号的字符串是单个“单词”,因此您只需要:

$ set -- "a" "b"