如何使用set修改bash脚本中的命令行参数



我正在执行一个shell脚本,并向它传递一些命令行参数。

我想使用set修改脚本中的参数。根据某些情况,并非一次完成。

我该怎么做?

set --中的相应位置复制未修改的参数

假设您想修改参数2:的值

set -- "${@::2}" 'new arg2 value' "${@:3}"

说明:

  • "${@::2}":从索引0展开2个参数(参数0和1(
  • new arg2 value:成为参数2的值
  • "${@:3}":展开从索引3开始的所有参数值

意见:

无论如何,在现代编程中,具有可变参数被认为是代码气味。因此,我建议你重新考虑你试图解决的问题的方法。

最新更新