注意:expr 运算符间要有空格
(1)计算3+2的值
[root@centos7 shell_test]# expr 2 + 3 5
(2)计算3-2的值
[root@centos7 shell_test]# expr 3 - 2 1
(3)计算(2+3)X4的值
[root@centos7 shell_test]# expr `expr 2 + 3` \* 4 20
[root@centos7 shell_test]# S=$[(2+3)*4] [root@centos7 shell_test]# echo $S
if [ 条件判断式 ];then 程序 fi 或者 if [ 条件判断式 ] then 程序 fi
注意事项:
输入一个数字,如果是1,则输出banzhang zhen shuai,如果是2,则输出cls zhen mei,如果是其它,什么也不输出。
[root@centos7 shell_test]# touch if.sh [root@centos7 shell_test]# vim if.sh #!/bin/bash if [ $1 -eq "1" ] then echo "banzhang zhen shuai" elif [ $1 -eq "2" ] then echo "cls zhen mei" fi
case $变量名 in "值1") 如果变量的值等于值1,则执行程序1 ;; "值2") 如果变量的值等于值2,则执行程序2 ;; …省略其他分支… *) 如果变量的值都不是以上的值,则执行此程序 ;; esac
注意事项:
输入一个数字,如果是1,则输出banzhang,如果是2,则输出cls,如果是其它,输出renyao。
[root@centos7 shell_test]# touch case.sh [root@centos7 shell_test]# vim case.sh #!/bin/bash case $1 in "1") echo "banzhang" ;; "2") echo "cls" ;; *) echo "renyao" ;; esac
for (( 初始值;循环控制条件;变量变化 )) do 程序 done
从1加到100
[root@centos7 shell_test]# touch for1.sh [root@centos7 shell_test]# vim for1.sh #!/bin/bash s=0 for((i=0;i<=100;i++)) do s=$[$s+$i] done echo $s
for 变量 in 值1 值2 值3… do 程序 done
打印所有输入参数
#!/bin/bash #打印数字 for i in $* do echo "ban zhang love $i " done echo "================================" for i in $@ do echo "ban zhang love $i " done echo "================================" for i in "$*" do echo "ban zhang love $i " done echo "================================" for i in "$@" do echo "ban zhang love $i " done
测试
[root@centos7 shell_test]# sh for2.sh 11 22 33 44 ban zhang love 11 ban zhang love 22 ban zhang love 33 ban zhang love 44 ================================ ban zhang love 11 ban zhang love 22 ban zhang love 33 ban zhang love 44 ================================ ban zhang love 11 22 33 44 ================================ ban zhang love 11 ban zhang love 22 ban zhang love 33 ban zhang love 44
while [ 条件判断式 ] do 程序 done
从1加到100
[root@centos7 shell_test]# touch while.sh [root@centos7 shell_test]# vim while.sh #!/bin/bash s=0 i=1 while [ $i -le 100 ] do s=$[$s+$i] i=$[$i+1] done echo $s