重置位置参数并考虑参数中的空格

时间:2019-02-26 05:11:58

标签: shell

要重置诸如$1 $2 $3 $4之类的位置参数,可以运行类似于以下所示的命令:

var1=first
var2=second
var3=third

set -- $var1 $var2 $var3

echo $var1
first
echo $var2
second
echo $var3
third

这一切都很好,花花公子。但是,假设参数中有空格:

var1=first
var2="second 2 whatever"
var3=third
var4="now is good"

运行set -- $var1 $var2 $var3 $var4之后,有没有一种便携式方法来确保var2和var4中的引号得以保留?

这样,当我运行echo $var2时,我得到的是second 2 whatever而不是"second

0 个答案:

没有答案