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

标签 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 兼容?

最佳答案

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

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

然后使用它们:

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

关于bash - 将所有脚本参数复制到另一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29536328/

相关文章:

linux - 如果脚本从另一个脚本开始,Bash 陷阱将不起作用

python - 从具有相同名称但文件类型不同的其他文件中查找一个没有扩展名的文件

javascript - 如何显示 "npm outdated"current != wanted lines only?

node.js - 将 KillAll 发送到多 Node 进程并等待响应

linux - 如何在while循环中并行处理多行文件?

linux - 在 Bash 脚本中,如何读取文件并将所有行拆分为二维数组

linux - 什么是./在终端上执行期间

php - 将参数从一个页面上的 JS/Jquery 传递到另一个页面上的 PHP

r - 使用 sapply 时如何使用函数的参数?

python - *(单星)和/(斜线)作为独立参数有什么作用?