Kev*_*vin 2 variables bash arguments
基本上,我希望能够调用$*在bash脚本,表示所有参数的脚本调用后,但我希望它忽略了第2位.(1美元和2美元)
所以为了简单起见,如果所有脚本都只是回显参数,它应该表现如下:
$ myscript.sh first_argument second_argument foo bar baz blah blah etc
foo bar baz blah blah etc
Run Code Online (Sandbox Code Playgroud)
是否有捷径可寻?顺便说一句,第一个和第二个参数后的文本数量应该没有限制,如果知道了这个数量,我可以轻松地单独调用它们,比如$ 3 $ 4 $ 5 $ 6 ...
我希望这很清楚.
谢谢,
凯文
您可以使用数组切片的变体来挑选一系列参数.要打印3上的参数,请使用:
echo "${@:3}"
Run Code Online (Sandbox Code Playgroud)
与shift
基于-based的选项不同,这不会为了其他目的搞乱参数列表.
用途shift
:
#!/bin/sh
shift 2
echo $@
Run Code Online (Sandbox Code Playgroud)
./myscript A B C D
输出C D
。
如果参数少于2个,将失败,用于$#
检查。
归档时间: |
|
查看次数: |
1204 次 |
最近记录: |