要重置诸如$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