我如何转发在bash脚本参数等命令?(How do I forward parameters to

2019-07-21 11:07发布

在我的bash脚本,我想解析零,一个或两个参数(该脚本可以识别它们),那么剩下的参数转发到在脚本中调用的命令。 我怎样才能做到这一点?

Answer 1:

使用shift内置命令“吃”的论点。 然后调用子进程,并通过它的"$@"的说法包括所有剩余的参数。 注意引号,他们应该保持,因为它们所造成的参数列表的扩展被正确引用。



Answer 2:

bash中使用换档命令:

如shifttest.sh:

#!/bin/bash
echo $1
shift
echo $1 $2

shifttest.sh 1 2 3产生

1
2 3


Answer 3:

巴什支持子集参数(见群和子 ),所以你可以选择哪些参数过程/通过这样的。

  1. 打开新文件并编辑:VIM r.sh

     echo "params only 2 : ${@:2:1}" echo "params 2 and 3 : ${@:2:2}" echo "params all from 2: ${@:2:99}" 
  2. 运行:

     $ chmod u+x r.sh $ ./r.sh 1 2 3 4 5 6 7 8 9 10 
  3. 其结果是:

     params only 2 : 2 params 2 and 3 : 2 3 params all from 2: 2 3 4 5 6 7 8 9 10 


文章来源: How do I forward parameters to other command in bash script?