Łuk*_*Lew 143 bash command-line
在我的bash脚本中,我想解析零个,一个或两个参数(脚本可以识别它们),然后将剩余的参数转发到脚本中调用的命令.我怎样才能做到这一点?
unw*_*ind 216
使用shift
内置命令"吃掉"参数.然后调用子进程并将"$@"
参数传递给包含所有剩余参数.注意引号,它们应该保留,因为它们会导致参数列表的扩展被正确引用.
Ste*_* B. 29
bash使用shift命令:
例如shifttest.sh:
#!/bin/bash
echo $1
shift
echo $1 $2
Run Code Online (Sandbox Code Playgroud)
shifttest.sh 1 2 3产生
1
2 3
Run Code Online (Sandbox Code Playgroud)
Rob*_*ujo 16
bash支持子集化参数(请参阅子集和子字符串),因此您可以选择要处理/传递的参数,如下所示:
打开新文件并进行编辑:vim r.sh
echo "params only 2 : ${@:2:1}"
echo "params 2 and 3 : ${@:2:2}"
echo "params all from 2: ${@:2:99}"
Run Code Online (Sandbox Code Playgroud)
运行:
$ chmod u+x r.sh
$ ./r.sh 1 2 3 4 5 6 7 8 9 10
Run Code Online (Sandbox Code Playgroud)
结果是:
params only 2 : 2
params 2 and 3 : 2 3
params all from 2: 2 3 4 5 6 7 8 9 10
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
60854 次 |
最近记录: |