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

Linux 如何使用set修改bash脚本中的命令行参数,linux,bash,shell,Linux,Bash,Shell,我正在执行一个shell脚本,并向它传递几个命令行参数 我想使用set修改脚本中的参数。根据某些条件,并非一次完成所有任务 我该怎么做呢?在集合-- 假设您要修改参数2的值: set--“${@::2}”新的arg2值“${@:3}” 说明: “${@::2}”:从索引0展开2个参数(参数0和1) 新arg2值:成为参数2的值 “${@:3}”:展开从索引3开始的所有参数值 意见: 无论如何,在现代编程中,具有可变参数被认为是代码气味。因此,我建议你重新考虑你试图解决的问题的方法 在集合-

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

我想使用
set
修改脚本中的参数。根据某些条件,并非一次完成所有任务


我该怎么做呢?

集合--

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

set--“${@::2}”新的arg2值“${@:3}”
说明:

  • “${@::2}”
    :从索引0展开2个参数(参数0和1)
  • 新arg2值
    :成为参数2的值
  • “${@:3}”
    :展开从索引3开始的所有参数值
意见:

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


集合--

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

set--“${@::2}”新的arg2值“${@:3}”
说明:

  • “${@::2}”
    :从索引0展开2个参数(参数0和1)
  • 新arg2值
    :成为参数2的值
  • “${@:3}”
    :展开从索引3开始的所有参数值
意见:

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


您可以分享有关该问题的更多详细信息吗?
/check\u test\u results.sh$publish\u pcom\u test$publish\u svs\u test
这就是我执行脚本的方式。这两个参数有一些默认值(True/False)。我想做一些操作,并决定是否必须修改这些参数值。如果我必须更新这些值,那么我该怎么做呢?你可以使用
$1
$2
访问参数检查这个线程-->@DigvijayS这不是关于访问它,我想使用
set
用一些新值更新$1$2你想更新
$publish\u pcom\u test$publish\u svs\u test
的值,对吗?请尝试导出$publish\u pcom\u test=“Blah Blah”您可以分享有关该问题的更多详细信息吗?
/check\u test\u results.sh$publish\u pcom\u test$publish\u svs\u test
这就是我执行脚本的方式。这两个参数有一些默认值(True/False)。我想做一些操作,并决定是否必须修改这些参数值。如果我必须更新这些值,那么我该怎么做呢?你可以使用
$1
$2
访问参数检查这个线程-->@DigvijayS这不是关于访问它,我想使用
set
用一些新值更新$1$2你想更新
$publish\u pcom\u test$publish\u svs\u test
的值,对吗?尝试导出$publish\u pcom\u test=“诸如此类”