Linux Shell脚本攻略(1.12)
1.12 函数和参数
- 和其他脚本语言一样,Bash同样支持函数,并且可以传递参数。
1.12.1 函数定义和传参
#!/bin/bash
function fname() #也可以用fname()代替
{
echo $1,$2; #访问参数1和参数2
echo "$@"; #以列表的方式一次性打印所有参数
echo "$*"; #类似于$@,但是参数被作为单个实体
return 0; #返回值
}
fname $1 $2 #执行函数并传递参数
- $1是第一个参数;$2是第二个参数;$n是第n个参数;$@被扩展成“$1”“$2”“$3”;$*被扩展成“
1c 2c$3”,其中c是IFS的第一个字符。
1.12.2 递归函数
- 在Bash中,函数同样支持递归函数.
F()
{
echo $1;
F hello;
sleep 1;
}
1.12.3 读取命令返回值
- 返回值被称为推出状态,它可以用于分析命令执行成功与否。如果命令成功退出,那么退出状态为0,否则为非0.
#!/bin/bash
CMD="echo test" #CMD为要执行的命令
$CMD #执行命令
if [ $? -eq 0 ] #$?为退出状态
then
echo "$CMD executed successfully"
else
echo "$CMD executed unsuccessfully"
fi
1.12.4 向命令传递参数
- Bash中的命令通常都有多个参数,命令的参数能够以不同的格式进行传递。假设-p,-v是可用选项,-k N是另一个可以接受的参数,同时还可以接受一个文件名作为参数,那么一下几种方式是等价的:
command -p -v -k 1 file
command -pv -k 1 file
command -vpk 1 file
command -file -pvk 1 #k N应该紧邻
1.12.5 参考
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。