How do I forward parameters to other command in bash script?
在我的bash脚本中,我希望解析零个、一个或两个参数(脚本可以识别它们),然后将其余参数转发到脚本中调用的命令。我该怎么做?
使用
bash使用shift命令:
例如SHITETest.SH:
1 2 3 4 | #!/bin/bash echo $1 shift echo $1 $2 |
shifttest.sh 1 2 3产生
1 2 | 1 2 3 |
bash支持子设置参数(请参见子集和子字符串),因此您可以这样选择要处理/传递的参数。
打开新文件并编辑:vim
1 2 3 | echo"params only 2 : ${@:2:1}" echo"params 2 and 3 : ${@:2:2}" echo"params all from 2: ${@:2:99}" |
运行它:
1 2 | $ chmod u+x r.sh $ ./r.sh 1 2 3 4 5 6 7 8 9 10 |
结果是:
1 2 3 | params only 2 : 2 params 2 and 3 : 2 3 params all from 2: 2 3 4 5 6 7 8 9 10 |