将所有脚本参数复制到另一个变量

时间:2015-04-09 10:43:55

标签: bash shell parameter-passing

我需要复制所有脚本参数并将它们传递给另一个脚本。我试过这样做:

args=$@    
printargs.sh $args
echo ------
printargs.sh "$args"

但在这种情况下,如果我用包含空格的参数调用我的父脚本,例如:

script.sh "arg 1" "arg 2"

然后打印

arg
1
arg
2
----
arg 1 arg 2

我应该如何在bash中执行此操作,或者与POSIX兼容?

1 个答案:

答案 0 :(得分:4)

$@就像一个数组,所以你的临时存储需要是一个数组:

args=( "$@" )      # quotes are needed there

然后使用它们:

printargs.sh "${args[@]}"