bash function使用参数
原创
©著作权归作者所有:来自51CTO博客作者bug404的原创作品,请联系作者获取转载授权,否则将追究法律责任
在bash中,有两种方式来声明一个函数。
方式一
function function_name {
command...
}
# 注意function_name后面有一个空格
方式二
function_name() {
command...
}
#小括号后面有一个空格
bash中参数的传递是通过位置而不是名字,位置是通过$1,$2,...
来表示,第一个参数的位置是$1。$0
是脚本名称的位置。
比如执行get_num 99 97
,
$0 -> get_num
$1 -> 99
$2 -> 97
看一个例子
#!/usr/bin/env sh
foo 1 # foo还没有声明,所以此句会报错
foo() {
echo "Parameter #1 is $1"
}
foo 2 # this will work.
Output:
./myScript.sh: line 2: foo: command not found
Parameter #1 is 2
参考:
https://stackoverflow.com/questions/6212219/passing-parameters-to-a-bash-function