- 格式
[function] function-name(){
function-body;
}
- [function]为可选部分。
- function-name为函数名字。
- ()中没有任何内容,通过$1..$n来获得参数$0 代表脚本名字.
- $1~$n 添加到Shell的各参数值。
- $? 执行上一个指令的返回值,为0说明指令正常执行,也可以作为函数的返回值。
- $* 所有参数列表
- $- 显示shell使用的当前选项,与set命令功能相同
- $# 参数个数
- $@ 不加引号与$*相同,加上引号,$@是把每个参数看成一个字符串,而$*是把所有的参数看成一个字符串
- $$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号)
- $! Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号)函数的调用
- 直接利用函数名调用,没有后面的括号
#!/usr/bin/bash
printPara(){
for i in $@;do
#a=$i;
#echo $a;
#echo (($i+1));
echo $i
done;
return $# ;
}
printPara a b c;
echo "return value is $?"
- 直接通过函数名 + 参数,其中函数名后面不接() func-name para1 para2…
- 函数返回值
- 如果需要返回值,可以用$?来得到函数的返回值
- 也可以直接取函数中的变量,$var