Answers:
您必须重置所有参数。改变例如$3
:
$ set -- "${@:1:2}" "new" "${@:4}"
基本上,将 所有参数设置为它们的当前值,但要更改的参数除外。set --
也由POSIX 7指定。
该"${@:1:2}"
符号被扩展到2
从offset 1
(即$1
)开始的两个位置参数(因此为符号)。这是"$1" "$2"
这种情况下的简写,但是当您要替换例如时,它会更加有用"${17}"
。
优化可读性和可维护性,你可能会更好分配$1
和$2
更有意义的变量(我不知道,input_filename = $1
和output_filename = $2
什么的),然后重写这些变量(input_filename = 'chintz'
),使输入到脚本不变的情况下,它是在其他地方需要。