if判断
基本语法
| 12
 3
 4
 5
 6
 7
 8
 
 | if [ 条件判断式 ]:then程序
 fi
 #或者
 if[ 条件判断式 ]
 then
 程序
 fi
 
 | 
举个栗子
输入一个数字,如果是1,则输出 banzhang zhen shuai,如果是2,则输出 cls zhen mei ,如果是其他,则什么都不输出
| 12
 3
 4
 5
 6
 7
 8
 
 | #!/bin/bashif [ $1 -eq 1 ]
 then
 echo "banzhang zhen shuai"
 elif [ $1 -eq 2 ]
 then
 echo "cls zhen mei"
 fi
 
 | 
case 语句
基本语法
- case行尾必须是单词 “in”,每一个模式匹配必须以右括号 “)” 结束
- 双分号 “;;” 表示命令序列结束,相当于java的break
- 最后的 “*)” 表示默认模式,相当于java的default
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | case $变量名 in  "值 1")
 如果变量的值等于1,执行程序1
 ;;
 "值 2")
 如果变量的值等于2,执行程序2
 ;;
 *)
 如果变量的值不是以上的值,则执行此程序
 esac
 
 | 
举个栗子
输入一个数字,如果是 1,则输出 banzhang,如果是 2,则输出 cls,如果是其他,输出 renyao
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | #!/bin/bashcase $1 in
 "1")
 echo "banzhang"
 ;;
 
 "2")
 echo "cls"
 ;;
 
 *)
 echo "renyou"
 esac
 
 | 
For循环
基本语法1
| 12
 3
 4
 
 | for(( 初始值;循环控制添加;变量变化 ))do
 程序
 done
 
 | 
举个栗子1
输出从1加到100的值
| 12
 3
 4
 5
 6
 7
 8
 
 | #!/bin/bash
 s=0
 for ((i=1;i<=100;i++))
 do
 s=$[$s+$i]
 done
 echo "cong1jiadao100:$s"
 
 | 
基本语法2
| 12
 3
 4
 
 | for 变量 in 值1 值2 值3...do
 程序
 done
 
 | 
举个栗子2
打印所有输入参数
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | #!/bin/bash
 for i in "$*"
 do
 echo "banzhang xihuan $i"
 done
 #-----------------------------------
 for j in "$@"
 do
 echo "banzhang xihuan $j"
 done
 
 | 
while 循环
基本语法
| 12
 3
 4
 
 | while[ 条件判断式 ]do
 程序
 done
 
 | 
举个栗子
输出从1加到100的值
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | #!/bin/bash
 i=1
 while [ $i -le 100 ]
 do
 s=$[$s + $i]
 i=$[$i + 1]
 done
 
 echo $s
 
 | 
read 读取控制台输入
基本语法
| 12
 3
 4
 5
 6
 
 | read(选项)(参数)选项:
 -p:指定读取值时的提示符
 -t:指定读取值时的等待的时间(秒)
 参数:
 变量:指定读取值的变量名
 
 | 
举个栗子
提示7秒内,读取控制台输入的名称
| 12
 3
 4
 5
 
 | #!/bin/bash
 read -t 7 -p "input your name" NAME
 
 echo $NAME
 
 |