如何定义一个参数?
function fname()
{
statements;
}
或者
fname()
{
statemants;
}
即可;
执行函数:
$ fname;#执行函数
传递参数:
$fname arg1 arg2 ;#传递参数
我们可以在函数中使用参数:
fname()
{
echo $1 $2 #打印第一个和第二个参数
echo “$@”#打印全部参数
echo “$*”#类似以$@ ,但是参数被作为单个实体
return 0; #返回值
}
特殊的,参数可以通过script进行调用----script:$1
$n是第n个参数
“$@” 是全部参数。
“$*” 类似”$@”,但因为参数个数是单数的,较不常用。
bash中的函数支持递归调用
f()
{echo $1
f Hello
sleep1
}
这里我们可以了解一下fork bomb(fork 炸弹).详见下一章。
导出函数
函数也可以像环境变量一样用export 导出,这样,函数的作用域就可以扩展到子进程;
export -f fname
读取命令返回值(状态)
如果一个命令执行了,我们想知道到底有没有成功,用$?
例如:
ls /dev
echo $?
如果ls 访问成功那么将返回打印0,否则打印非0;
ls /root
echo $?
会打印非零