shell 语法
1). 条件表达式语法信息
[ 1 -eq 1 ] && echo 1 <-- 表示条件成功,执行相应操作
[ 1 -eq 1 ] || echo 1 <-- 表示条件失败,执行相应操作
[ 1 -eq 1 ] && { <-- 表示条件成功,执行相应多个操作
echo 1
echo 2
}
[ 1 -eq 1 ] || { <-- 表示条件失败,执行相应多个操作
echo 1
echo 2
}
总结说明: 以上条件表达式用法相当于if单分支语句
系统脚本中单分支判断都不用if来进行条件判断
[ 1 -eq 1 ] && { <-- 表示条件成功,执行相应多个操作
echo 1
echo 2
} || {
echo 3 <-- 表示条件失败,执行相应多个操作
echo 4
}
总结说明: 以上条件表达式用法相当于if双分支语句
2). if条件语法信息
if [ <测试表达式> ] <-- 单分支if语句
then
指令信息...
fi
if [ <测试表达式> ] <-- 双分支if语句
then *补充: 在if语句中需要掌握冒号用法
指令信息...
else
指令信息...
fi
if [ <测试表达式> ] <-- 多分支if语句
then
指令信息...
elif [ <测试表达式> ]
then
指令信息...
else
指令信息...
fi
总结说明: 多分支语句也可以类似于case条件语句
3). case条件语法信息
a. 服务启动停止脚本(传参的个数有限)
b. 根据菜单信息进行选择
c. 有yes或no进行交互的时候
case "变量" in
1)
指令01...
;;
2)
指令02...
;;
3)
指令03...
;;
*)
指令04...
esac
总结说明: case条件语句也可以类似于if多分支语句
4). while循环语法信息
while <测试表达式>
do
指令信息...
done
while true
do
指令信息...
usleep xxx
done
总结说明: 实现守护进程方式运行
while read line
do
指令信息...
done<$1
总结说明: 实现读取文件内容, 按行进行读取
5). for循环语法信息
for 变量名 in 变量列表信息
do
循环指令信息...
done
for ((i=1;i<=10;i++))
do
循环指令信息...
done
6). 函数编写方式
function test(){
local i <-- 设置函数局部变量信息
return 11 <-- 设置函数执行调用后返回值信息
}
function test {
local i <-- 设置函数局部变量信息
return 11 <-- 设置函数执行调用后返回值信息
}
test(){
local i <-- 设置函数局部变量信息
return 11 <-- 设置函数执行调用后返回值信息
}
说明: 函数中如果有传参信息, 需要在调用函数时进行传参