shell脚本-case语句 和 read参数

纵饮孤独 提交于 2020-02-20 13:52:08

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只能判断一种。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!