最简单 if <>
then
fi
嵌套if if <>
then
if <>
then
fi
fi
双分支结构 : if <>
then
else
fi
多分支结构:if <>
then
elif <>
then
elif <>
then
else
fi
#!/bin/sh #取系统的内存
mem=`free -m |awk 'NR==3 {print $4}'`
if [ $mem -lt 100 ]
then
echo now mem is $mem please check your hosts
else
echo the system is good
fi
shell函数 :语法 function 函数名() { }
简单示例 #!/bin/sh
function one() {
echo 1
}
function two() {
echo 2
}
one #调用
two #调用
while循环: while <>
do
done
for 语句:for i in 变量列表
do
done
循环控制及状态返回 : break n 如果省略n,则表示跳出整个循环,n表示跳出循环的层次
continue n 如果省略n,则表示跳出本次循环,忽略别处循环的剩余代码,进入循环的下一次循环,n表示退出到第n层继续循环
exit n 退出当前shell程序,n为上一次程序执行状态的返回值。n也可以省略用$?接受
return n 用于在函数里作为函数的返回值,以判断函数执行是否正确。
案例 #!/bin/sh
if [ $# -ne 1 ]
then
echo "usage $0:{break|continue|exit|return}"
exit 1
fi
function test() {
for ((i=0;i<5;i++))
do
if [ $i -eq 3 ]
then
$*;
fi
echo $i
done
echo "i am func"
}
test $*
fun_ret=$?
if [ `echo $* |grep return |wc -l` -eq 1 ]
then
echo "return s exit status :$fun_ret"
fi
echo ok