shell语法
一、if 语句
if [ $VART -eq 10 ]
then
echo "true"
else
echo "false"
fi
二、case语句
case $变量 in
"内容1")
程序1
;;
"内容2")
程序2
;;
*) #匹配其他所有情况
程序3
;;
esac
三、for 循环
for var in con1 con2 con3 ...
do
程序
done
四、while 循环
while [ condition ]
do
程序
done
五、break跳出循环
for VAR in 1 2 3
do
# 如何 VAR 等于 2 就跳出循环
if [ $VAR -eq 2 ]
then
break
fi
echo $VAR
done
六、continue跳过本次循环
#!/bin/bash
for VAR in 1 2 3
do
# 如果 VAR 等于 2,就跳过,直接进入下一次 VAR = 3 的循环
if [ $VAR -eq 2 ]
then
continue
fi
echo $VAR
done
Shell 函数
1. 定义函数
有 3 种常见格式:
格式一:
function 函数名 () {
指令...
}
格式二:
function 函数名 {
指令...
}
格式三:
函数名 () {
指令...
}
例如:
#!/bin/bash
function hello_world(){
echo "hello world fun"
echo $1 $2
return 1
}
function hello_world{
echo "hello world fun"
echo $1 $2
return 1
}
hello()
{
echo "hello fun"
}
2. 调用函数
如何调用上面的 3 个函数呢?
# 1. 直接用函数名调用 hello 函数
hello
# 2. 使用「函数名 函数参数」来传递参数
hello_world 1 2 # 1 2就是传递的参数$1 $2这里是使用位置参数传递的
# 3. 使用「FUN=`函数名 函数参数`」 来间接调用
FUN=`hello_world 1 2`
echo $FUN
3. 获取返回值
如何获取 hello_world 函数的返回值呢?还记得 $? 吗?
hello_world 1 2
# $? 可用于获取前一个函数的返回值,这里结果是 1
echo $?
总结
语法是一种功能实现的方法,一套shell脚本是否优秀在于其复用性高不高、在于环境兼容性强不强、在于规范恰当不恰当,当然最重要的是稳定性,不稳定的自动化脚本犹如尘垢粃糠炊沙成饭,远不及手动部署简切了当。
具体应用后续再与大家详谈!