case语法
case $变量名 in
"值 1"
如果变量值等于值1,则执行程序1
;;
"值 2"
如果变量值等于2,则执行程序2
;;
.......省略其他分支
*)
如果变量都不等于以上值,则执行此程序
esac
1 #!/bin/bash 2 read -p "小明现在要买机票" i 3 case $i in 4 "guangzhou") 5 echo "飞机票卖完了" 6 ;; 7 "shanghai") 8 echo "飞机票还剩一张" 9 ;; 10 "beijing") 11 echo "五十块一张" 12 ;; 13 *) 14 echo "拜拜" 15 esac
read参数说明:
- -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。
- -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。
- -p 后面跟提示信息,即在输入前打印提示信息。
- -e 在输入的时候可以使用命令补全功能。
- -n 后跟一个数字,定义输入文本的长度,很实用。
- -r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了。
- -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。
- -t 后面跟秒数,定义输入字符的等待时间。
- -u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。
总结
1.注意 ; ;符号的添加。
2.if语句可以多个条件关系,case只能判断一种。
来源:https://www.cnblogs.com/lovelitao/p/12335302.html