1

如何传递某些值有空格的数组。我是说:

脚本.sh

#/bin/bash
echo $1, $#

我可以运行这个小脚本

$ ./script.sh a --> a, 1
$ ./script.sh "a b" --> a b, 1
$ v=("a b" c)
$ ./script.sh ${v[@]} --> a, 3
$ ./script.sh ${v[@]@Q} --> 'a, 3

我想在不更改脚本的情况下打印“ab,2”可以吗?

我发现实现它的唯一方法是:

eval "./script.sh ${v[@]@Q}" --> a b, 2

有没有更聪明的方法?

4

0 回答 0