开发者学堂课程【Shell 编程入门到精通:case-for-while语句使用方法 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/453/detail/5596
case-for-while 语句使用方法
内容简介:
一、本节所讲内容
二、case:流控制语句
三、循环语句 for...done 语句
四、While 循环语句
一、本节所讲内容
1、case:流控制语句
2、循环语句 for...done 语句
3、使用(())扩展 shell 中算数运算使用方法
4、循环语句嵌套
5、跳出循环: break 和 continue
6、Shift 参数左移指令
7、 shell 中函数使用方法
二、case:流控制语句
适用于多分支
(1)格式:
case 变量 in
字符串1) 命令列表1
;;
...
字符串n) 命令列表n
;;
*) 命令列表n
;;
Esac
(2)例如:做一个选择功能项的菜单
先创建一下:
[root@xuegod63 ~]# mkdir test
[root@xuegod63 ~]# cd test/
[root@xuegod63 ~]#
[root@xuegod63 test]# vim case.sh
#! /bin/sh
echo “***************************************”
echo “Please select your operation:”
echo “1 Copy”
echo “2 Delete”
echo “3 Backup”
echo “*****************************************”
read op
case $op in
C)
echo “your selection is Copy”
;;
D)
echo “your selection is Delete”
;;
B)
echo “your selection is Backup”
;;
*)
# 参数*,匹配所有参数。
echo “invalide selection”
esac
执行结果为:
[root@xuegod63 text]# Vim case.sh
[root@xuegod63 text]# chmod +x case.sh
[root@xuegod63 text]# ./case.sh
********************************
Please select your operation:
1 Copy
2 Delete
3 Backup
*********************************
C
Your selection is Copy
[root@xuegod63 text]# ./case.sh
**********************************
Please select your operation:
1 Copy
2 Delete
3 Backup
***********************************
[root@xuegod63 text]# ./case.sh
**********************************
Please select your operation:
1 Copy
2 Delete
3 Backup
***********************************
B
Your selection is Backup
[root@xuegod63 text]# ./case.sh
**********************************
Please select your operation:
1 Copy
2 Delete
3 Backup
***********************************
1
invalide selection
[root@xuegod63 text]#
(3)若想得到Q(q)的只需在步骤中相应的位置加入:
echo “4 Quit”
Q)
Echo “quit!”
;;
执行结果为:
Please select your operation:
1 Copy
2 Delete
3 Backup
***********************************
Q
quit!
[root@xuegod63 text]#
三、循环语句 for...done 语句
(1)格式:
for 变量 in 名字表
do
命令列表
Done
(2)例如:循环打印出来7个星期天内容
#!/bin/bash
for DAY in Sunday Monday Tuesday Wednesday Thursday Friday Saturday
do
echo “The day is:$D”
done
将以上步骤保存退出
[root@xuegod63 text]# vim for.sh
[root@xuegod63 text]# chmod for.sh
chmod:missing operand after `for.sh`
Try `chmod --help` for more information
[root@xuegod63 text]# chmod +x for.sh
[root@xuegod63 text]# ./for.sh
执行结果:
[root@xuegod63 text]# ./for.sh
The day is:Sunday
The day is:Monday
The day is:Tuesday
The day is:Wednesday
The day is:Thursday
The day is:Friday
The day is:Saturday
四、 While 循环语句
(1)格式:
while 条件
do
命令
Done
(2)例如:求10以内的自然数的平方跟
#!/bin/bash
num=1
while [ $num -le 10 ]
do
square=`expr $num \* $num`
echo $square
num=`expr $num +1`
done
运行结果为:
[root@xuegod63 text]# vim while.sh
[root@xuegod63 text]# chmod +x while.sh
[root@xuegod63 text]# ./while.sh
1
4
9
16
25
36
49
64
81
100
[root@xuegod63 text]# vim whil
e.sh