函数的定义
函数的定义包括function命令、函数名、开/闭括号包括以及包含在一对花括号中的函数体。
(1) 函数定义
function fname()
{
Statements;
}
或者
fname ()
{
Statements;
}
或者
fname() { Statements; }
(2) 使用函数名即可调用函数
$ fname
(3) 含参数的函数调用
$ fname arg1 arg2
以下是函数的访问方法
#!bin/bash fname() { echo $1,$2; #访问参数1和参数2 echo "$@"; #以列表的方式一次性打印参数 echo "$*"; #类似于$@,但所有的参数都被视为单个实体 return 0; #返回值 }
递归函数
递归函数可以调用自身的函数,这种函数必须要有退出条件,否则就会不断的生成自身,知道系统资源耗尽或是崩溃
F() { echo $1;F hello;sleep 1; }
读取命令返回状态
命令的返回值被保存在变量$?中
cmd;
echo $?;
返回的状态称为退出状态。它可用于确定命令执行成功与否。如果成功退出,那么退出状态为0,否则为非0
下面的脚本可以报告命令是否成功结束
#!bin/bash eval $@ if [ $? -eq 0 ]; then echo "$CMD executed success" else echo "$CMD executed failed" fi