day22-20200703
p87.流程控制-case语句

多分支判断语句,与if不同的是,case只有一个条件,if可以多个。

case $变量名 in
'值1')
程序;;
'值2')
程序;;
*)
程序;;
esac

1 #!/bin/bash
2 echo "you want to 北京,please input 1"
3 echo "you want to 上海,please input 2"
4 echo "you want to 成都,please input 3"
5
6 read -p "please input:" address
7 echo $address
8 case $address in
9 1)
10 echo '你已经确认去北京'
11 ;;
12 2)
13 echo '你已经确认去上海'
14 ;;
15 3)
16 echo '你已经确认去成都'
17 ;;
18 *)
19 echo '输入有误'
20 ;;
21 esac

p88.流程控制-for语句

空格、换行符 判断

语法1.不知道循环次数

for 变量名 in 值1 值2 ...)
do
程序
done

举例1.

1 #!/bin/bash
2 for i in 1 2 3 4 5 6
3 do
4 echo "值为:$i"
5 done

举例2.
#!/bin/bash
cd /tmp
ls > test03.txt
for i in $(cat test03.txt)
do
echo "/tmp下文件有:$i"
done
语法2.知道循环次数

for ((初始值;终止条件;条件))
do
程序
done

举例1.

1 #!/bin/bash
2
3 #从1+...+100
4 s=0
5 for (( i=1 ;i<=100;i=i+1))
6 do
7 s=$(($s+$i))
8 done
9 echo "从1+...+100=:$s"

p89.流程控制-while和until语句
判断条件成立就会一直循环,不定循环

while [条件]
do
程序
done

[root@localhost day22]# ./test05.sh
1+....+100=5050
1 #!/bin/bash
2
3 #从1+...+100
4 i=1
5 s=0
6
7 while [ "$i" -le 100 ]
8 do
9 s=$(($s+$i))
10 i=$(($i+1))
11 done
12 echo "1+....+100=$s"

判断条件不成立就会一直循环,不定循环

until [条件]
do
程序
done

1 #!/bin/bash
2
3 #从1+...+100
4 i=1
5 s=0
6
7 until [ "$i" -gt 100 ]
8 do
9 s=$(($s+$i))
10 i=$(($i+1))
11 done
12 echo "1+....+100=$s"

shell就是帮助管理员减少重复工作 哈哈 学完了基本内容了哦 后面请你继续加油哈~