我正在执行一个shell脚本,并向它传递一些命令行参数。
我想使用set
修改脚本中的参数。根据某些情况,并非一次完成。
我该怎么做?
在set --
中的相应位置复制未修改的参数
假设您想修改参数2:的值
set -- "${@::2}" 'new arg2 value' "${@:3}"
说明:
"${@::2}"
:从索引0展开2个参数(参数0和1(new arg2 value
:成为参数2的值"${@:3}"
:展开从索引3开始的所有参数值
意见:
无论如何,在现代编程中,具有可变参数被认为是代码气味。因此,我建议你重新考虑你试图解决的问题的方法。