使用变量中的参数调用命令

问题描述 投票:0回答:1

我有一个参数列表,其中一些包含空格,存储在变量中。调用命令时,参数无法正确解释。这是一个说明问题的最小示例:

$ cat test.sh
echo $1
echo $2
$ sh test.sh foo "bar baz"
foo
bar baz
$ args='foo "bar baz"'
$ sh test.sh $args
foo
"bar

我应该如何传递 args 来让 test.sh 打印这个?

foo
bar baz
sh quoting
1个回答
0
投票

要解释构建的 shell 代码(包括从变量中获取),可以使用

eval

eval "sh test.sh $args"

但是将代码放入变量真的是最好的主意吗?

© www.soinside.com 2019 - 2024. All rights reserved.