bash编程之:case语句、read与用户交互

日期: 2015年09月13日

case语句

case语句:该语句和if并无太大差别,主要作用是使代码的逻辑结构更清晰。

case语句可以称为是:简洁版的多分支if语句

使用场景:判断某变量的值是否为多种情形中的一种时使用

case语句的用法格式为:

case $VARIALBE in

PATTERN1)

分支1

;;     <================注意:这两个分号不要忘记写,否则语法错误

PATTERN2)

分支2

;;     <================注意:这两个分号不要忘记写,否则语法错误

PATTERN3)

分支3

;;     <================注意:这两个分号不要忘记写,否则语法错误

...

*)

分支n

;;     <================注意:这两个分号不要忘记写,否则语法错误

esac

PATTERN可使用glob模式的通配符:

*  任意长度的任意字符

?  任意单个字符

[]  指定范围内的任意单个字符

a|b  多选1

read语句

read是bash的内建命令,可以与用户交互,将用户通过键盘输入的内容保存到一个变量中。

read的用法格式:

read[OPTIONS] VAR...

-P:用户键入

-t:等待时间

综合示例:

写一个脚本,判断用户输入的是哪种字符

运行脚本测试:

时间: 2024-10-02 00:14:50

bash编程之:case语句、read与用户交互的相关文章

bash编程之case语句

一.语法格式 case 变量引用(${}) in value1)    #变量的值是value1,则执语句1,语句2,······ 语句1 语句2 ······ ;;    #每个分支结束时都需要以双分号结尾 value2)    #变量的值是value2,则执语句3,语句4,······ 语句3 语句4 ······ ;; value3)    #变量的值是value3,则执语句5,语句6,······ 语句5 语句6 ······ ;; *)    #其他任意情况,则执行语句7,语句8,··

bash脚本编程之case语句

case语句用于简化复杂的if语句 #!/bin/bash while true; do   read -p "Enter your score:" score   if [ "$score" == "quit" ]; then           exit 0   elif [ $score -lt 60 ]; then           echo "stupid"           break   elif [[ $s

bash脚本编程之case语句及脚本选项进阶

case语句及脚本选项进阶详解     面向过程程序设计语言中的控制流(即程序当中的语句)默认是顺序执行的. 程序设计语言的控制结构一共有三类: 1,顺序结构 2,选择结构 (1)if语句 ->单分支的if语句 格式:if condition1;then expression ... fi ->双分支的if语句 格式:if condition1;then expression ... else expression ... fi ->多分支的if语句 格式:if condition1;t

shell编程之case语句

bash脚本编程: case语句: 多分支if语句: if CONDITION1; then 分支1 elif  CONDITION2; then 分支2 ... else CONDITION; then 分支n fi 示例1:显示一个菜单给用户: cpu) display cpu information mem) display memory information disk) display disks information quit) quit 要求:(1) 提示用户给出自己的选择: (

编程之case语句

一.使用$random变量随机取10个随机数,进行最大值和最小值对比 #!/bin/bash # declare -i MAX=0 for I in {1..10};do    MYRANDOM=$RANDOM    [ $I -eq 1 ] && MIN=$MYRANDOM;    if [ $I -le 9 ];then         echo -n "$MYRANDOM,"    else         echo  "$MYRANDOM"

Shell编程之case语句与循环语句

case语句分支 1.case语句的结构 case 变量值 in模式 1)命令序列 1;;模式 2)命令序列 2;;......*)默认命令序列esac case分支语句的结构图使用case分支语句的注意点:1.case行尾必须为单词"in",每一个模式必须以右括号")"结束.2.双分号";;"表示命令序列的结束.3.模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以用竖杠符号"|"表示

shell编程之case分支语句

shell编程之case分支语句 case分支语句和if的多分支语句很相似. if多分支语句一般用在有(区间范围)的地方 :例如:0-100之间. if需要判断多个不同的条件. case的分支语句用在 如果里面匹配到固定值:或某个变量存在多中取值,需要对其中的每一个取值分别执行不同的命令序列. case只是判断一个变量的不同取值. case的模式: 执行流程: 首先使用"变量值"与模式1进行比较,如果取值相同就执行模式1的命令序列1,直到遇见" ;; "后跳转到es

Shell编程之case多分支语句、循环语句(for、while等)、Shell函数、Shell数组

case多分支语句 case语句的结构: 针对变量的不同取值,分别执行不同的命令列 case 变量值 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; ..... *) 默认命令序列 esac 示例: 字符类型识别: 提示用户输入一个字符: 判断出该字符是字母.数字或者其他字符. 脚本如下: [[email protected] opt]# vim test01.sh #!/bin/bash read -p "请输入一个字符:" key case $key in [a-z]

bash脚本之case语句应用,while、until和select循环应用及其示例

bash脚本编程: case选择分支结构: case: case 词 in [模式 [| 模式]...) 命令 ;;]... esac 在脚本中使用case的结构: case ${VAR_NAME} in PATTERN1) COMMAND ... ;; PATTERN2) COMMAND ... ;; ... esac 扩展: case ${VAR_NAME} in PATTERN1) COMMAND ... ;; PATTERN2) COMMAND ... ;; *)