说我们有:
test() {
echo $1
echo $2
}
和两个变量:
a="hello world"
b="$a blabla.."
test $b
显示:
hello
world
我想要的是:
hello world
blabla..
我怎样才能做到这一点?
由于
答案 0 :(得分:2)
使用此:
a="hello world"
b="'$a' blabla"
eval "test $b"
需要使用单引号将hello world
作为单个参数保持在一起。然后,您需要使用eval
,因为在变量扩展后通常不会处理引号。
答案 1 :(得分:2)
您希望b
成为一个数组,否则单个字符串无法使用空格来确定哪个空格字符是分隔符:
mytest() {
echo "$1"
echo "$2"
}
a="hello world"
b=( "$a" "blah blah" )
mytest "${b[@]}"
hello world
blah blah