我需要复制所有脚本参数并将它们传递给另一个脚本。我试过这样做:
args=$@
printargs.sh $args
echo ------
printargs.sh "$args"
但在这种情况下,如果我用包含空格的参数调用我的父脚本,例如:
script.sh "arg 1" "arg 2"
然后打印
arg
1
arg
2
----
arg 1 arg 2
我应该如何在bash中执行此操作,或者与POSIX兼容?
答案 0 :(得分:4)
$@
就像一个数组,所以你的临时存储需要是一个数组:
args=( "$@" ) # quotes are needed there
然后使用它们:
printargs.sh "${args[@]}"