1、shell函数详解
shell函数定义格式:
function fun_name()
{
statements
[return value]
}
function 为shell中定义函数的关键字
fun_name为函数名
statements为函数要执行的代码
return value表示函数的返回值,这部分可写也可以不写
函数调用
调用shell函数时可以给它传递参数也可以不传递参数。如果不传递参数,直接通过函数名调用:
fun_name
如果传递参数,多个参数之间以空格分隔
fun_name param1 param2 param3
注意:shell函数定义时不能指明参数,但是调用时却可以传递参数,并且可以给它传递任意参数,shell不限定定义和调用的顺序,可以调用在前,定义在后。
@
表
示
函
数
的
所
有
参
数
,
@表示函数的所有参数,
@表示函数的所有参数,?表示函数退出时的状态即返回值
参考博文:http://c.biancheng.net/view/1009.html
2、shell中的if语句
1、基本语法:
if [ command ]; then
符合条件执行的语句
fi
2、扩展语法
if [ command ] ; then
符合条件执行的语句
elif [ command ] ; then
符合条件执行的语句
else
符合条件执行的语句
fi
3、语法说明:
bash shell会按顺序执行if语句,如果command执行后且它的返回状态为0,则会执行符合该条件的执行语句,否则后面语句不执行,跳转到下一条命令
注意:
(1)、[ ]表示条件测试。要注意在’[‘后面和’]'前面都必须要有空格
(2)、在shell中,then和if是分开的语句。如果要在同一行里面输入,则需要使用分号将它们隔开
(3)、if判断中对于变量的处理,需要加双引号,以免一些不必要的错误。没有加双引号会在一些含空格等的字符串判断的时候产生错误。比如[ -n “$var” ],如果var为空会出错
(4)、判断不支持浮点数
(5)、如果单独使用>或者<符号,系统会认为是输出或者输入重定向,虽然结果显示正确,其实是错误的,因此需要对这些符号进行转意。
(6)、使用-z或者-n来检查长度时,没定义的变量也为0
(7)、空变量或者没有初始化的变量可能会对shell脚本测试产生灾难性的影响,因此在不确定变量内容的时候,在测试前使用-n或者-z测试一下
(8)、?变量包含了之前执行命令的退出状态,可用于检测退出状态
参考博文:https://www.cnblogs.com/kaishirenshi/p/9729800.html
3、shell中的for语句
shell for 循环语法
for 变量 in 列表
do
command1
command2
…
commandN
done
参考博文:https://blog.csdn.net/weixin_36586564/article/details/78681117