如何将参数转发给bash脚本中的其他命令?
答
使用shift
内置命令 “吃” 的参数。然后调用子进程并将它传递给参数"[email protected]"
以包含所有剩余的参数。注意引号,它们应该保留,因为它们会引起参数列表的扩展被正确地引用。
答
bash中使用移命令:
例如 shifttest.sh:
#!/bin/bash
echo $1
shift
echo $1 $2
shifttest.sh 1 2 3产生
1
2 3
答
bash的支持子集参数(见Subsets and substrings),所以你可以选择哪些参数过程/通过这样的:
打开新文件,并对其进行编辑:VIM r.sh
echo "params only 2 : ${@:2:1}"
echo "params 2 and 3 : ${@:2:2}"
echo "params all from 2: ${@:2:99}"
来看,它:
chmod u+x r.sh
./r.sh 1 2 3 4 5 6 7 8 9 10
结果是:
params only 2 : 2
params 2 and 3 : 2 3
params all from 2: 2 3 4 5 6 7 8 9 10
其实“$ @”比$ *更安全 – pixelbeat 2009-10-08 13:10:15
有什么区别? – 2009-10-08 13:14:08
@ pixelbeat:谢谢,很好。我编辑过。 @ŁukaszLew:请参阅手册中的链接页面。 :)基本上,它处理引用更好。 – unwind 2009-10-08 13:18:52