【bash】bash脚本编程之条件判断
bash -n 脚本名称  //可以测试脚本是否有语法错误
bash -x 脚本名称  //脚本的单步执行
exit //退出脚本
exit #   //退出脚本并定义退出状态码为#
注意:如果脚本没有明确定义退出状态码,那么最后执行的一条命令的退出状态码即为脚本的退出状态码

条件判断,控制结构:
单分支:
------------------------------------------
if 判断条件; then 
statement1
statement2
...
fi
------------------------------------------
注意:fi表示if语句结束 如果then要与if写在同一行中间必须用“;”隔开


双分支的if语句:
-----------------------------------------
if 判断条件; then 
statement1
statement2
...
else
statement1
statement2
...
fi
-----------------------------------------


例如:如果用户存在就说用户存在,否则说用户不存在
#!/bin/bash
#
NAME=user1
if id $NAME &>/dev/null ; then 
echo "$NAME exists."
else
useradd $NAME
echo $NAME | passwd --stdin $NAME &>/dev/null
echo "Add $NAME finished"
fi
-------------------------------------------------------------


多分支的if语句
-------------------------------------------------------------
if 判断条件1 ; then
statement1
...
elif 判断条件2 ; then
statement2
...
elif 判断条件3 ; then
statement3
...
else 
statement4
fi



shell中如何做算术运算
例如
A=3
B=6
1、let 算术运算表达式
let C=$A+$B
2、$[算术运算表达式]
C=$[$A+$B]
3、$((算术运算表达式))
C=$(($A+$B))
4、expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用。
C=`expr $A + $B`


let SUM+=$I  相当于 SUM=$[$SUM+$I]
let I+=1     相当于 let I++


==============================================case语句====================================================
case 语句:选择结构


case SWITCH in
value1)
statement
...
;;
value2)
statement
...
;;
*)
statement
...
;;
esac
------------------------------------例如
#!/bin/bash
#
echo "$1"
case $1 in
[0-9])
        echo "A digit";;
[a-z])
        echo "lown";;
[A-Z])
        echo "大写字母";;
*)
        echo "其他";;
esac
--------------------------------------