一、shell编程运算符
基本语法
1、 “$((运算式))” 或"$[运算式]" 或者 expr m + n
2、注意expr运算符间要有空格,如果希望将 expr的结果赋给某个变量,使用` `
3、expr m - n
4、expr * 、 / 、 % = 乘 、 除 、 余
二、shell编程条件判断
判断语句基本语法
[ condition ] (condition前后都有空格)
[]中非空返回true
[ hello ] && echo ok || echo not
# 判断语句成立执行&&后面的语句,否则执行||后面的语句
执行结果
常见判断语句
1)= 字符串比较
2)整数比较:
-lt 小于
-le 小于等于
-eq 等于
-gt 大于
-ge 大于等于
-ne 不等于
3)按照文件权限类型判断
-r 有读的权限
-w 有写的权限
-x 有执行的权限
4)按照文件类型判断
-f 文件存在并是一个常规文件
-e 文件存在
-d 文件存在并是一个目录
三、shell编程单分支多分支
语法
if [ condition ]
then
echo "符合condition条件执行"
fi
# fi是条件语句结束标志
执行结果
四、case语句
基本语法
case $变量名 in
“值1”)
如果变量值等于值1,执行此句程序
;;
“值2”)
如果变量值等于值2,执行此句程序
;;
*)
如果变量值不等于以上情况,执行此句程序
;;
esac (结束标志)
case $1 in
"1")
echo "周一"
;;
"2")
echo "周二"
;;
*)
echo "other"
;;
esac
执行结果:
hell.sh 2中后面的2 是传入参数
五、for循环
确定值的for循环
基本语法
for 变量 in 值1 值2 值3...
do
符合执行代码
done
# $*和$@都是获取到键盘输入的参数,处理时有区别
#&*获取输入内容,把所用内容当做一个整体
for i in "$*"
do
echo "数字是 $i"
done
#&@ 获取输入内容,分开处理
for j in "$@"
do
echo "数字是 $j"
done
运行结果
范围值的for循环
基本语法
for(( 初始值;循环控制条件;变量变化++、--))
do
代码/程序
done
#循环累加
sum=0
for(( i=1; i<10; i++))
do
sum=$[$sum+$i]
done
echo " 循环累加的总和=$sum"