shell条件语句

目录

一,条件测试

1 . test命令

1.1 格式

2 . 文件测试

2.1 格式

2.2 常用的测试操作符

3 . 整数值比较

3.1 格式

3.2 常用的测试操作符

4 . 字符串比较

4.1 格式

4.2 常用的测试操作符

5 . 逻辑测试

5.1 格式

5.2 常用的测试操作符

二,if语句

1 . if单分支语句

2  . if双分支语句

3  . if多分语句

4 .  嵌套if语句

三,case分支语句


一,条件测试

1 . test命令

测试表达式是否成立,若成立返回0,否则返回其他数值

1.1 格式

test +条件表达式

[ 条件表达式 ]

2 . 文件测试

2.1 格式

[ 操作符 文件或目录 ]

test -d /home/user

2.2 常用的测试操作符

  • -d:测试是否为目录(Directory)
  • -e:测试目录或文件是否存在(Exist)
  • -f:测试是否为文件(File)
  • -r:测试当前用户是否有权限读取(Read)
  • -w:测试当前用户是否有权限写入(Write)
  • -x:测试当前用户是否有权限执行(eXcute)
  • -b测试是否为设备文件
  • -c测试是否为字符设备文件
  • -s测试存在且文件大小为空
  • -L测试是否为链接文件
[root@localhost ~]# ls /home
10       12.txt  3002  66      c    frist.sh  m11    shell_dome.sh  wangwu3
10000    14j     3003  6j      cc   g11       n11    t11            xa
106      1a      330   7j      d    h11       o11    test2.sh       xxx
1061     20000   333   a       dd   i11       p11    test3.sh       zhangsan
106.txt  220     3a    a10000  dnn  j11       q11    u11
10j      222     44    abc     f1   k11       qwe    user
110      22.txt  55    b       f2   l11       qwert  v11
111      2a      56    bnn     f3   ll        r11    wangwu
12j      3001    5j    bsb     f4   ltxt      s11    wangwu2
[root@localhost ~]# [ -f /home/10 ] && echo "YES"

[root@localhost ~]# echo $?
1
[root@localhost ~]# [ -f /home/10 ] && echo "YES"
[root@localhost ~]# echo $?
1
[root@localhost ~]# [ -f /home/12.txt ] && echo "YES"
YES
[root@localhost ~]# [ -d /home/12.txt ] && echo "YES"
[root@localhost ~]# echo $?
1
[root@localhost ~]# [ -d /home/10 ] && echo "YES"
YES
[root@localhost ~]# [ ! -d /home/kfc ] && mkdir /home/kfc
[root@localhost ~]# ls /home
10       12.txt  3002  66      c    frist.sh  ltxt   s11            wangwu2
10000    14j     3003  6j      cc   g11       m11    shell_dome.sh  wangwu3
106      1a      330   7j      d    h11       n11    t11            xa
1061     20000   333   a       dd   i11       o11    test2.sh       xxx
106.txt  220     3a    a10000  dnn  j11       p11    test3.sh       zhangsan
10j      222     44    abc     f1   k11       q11    u11
110      22.txt  55    b       f2   kfc       qwe    user
111      2a      56    bnn     f3   l11       qwert  v11
12j      3001    5j    bsb     f4   ll        r11    wangw

3 . 整数值比较

3.1 格式

[ 整数1 操作符 整数2]

3.2 常用的测试操作符

  • -eq: 等于(Equal)
  • -ne:不等于(Not Equal)
  • -gt: 大于(Greater Than)
  • -It:小于(Lesser Than)
  • -le:小于或等于(Lesser or Equal)
  • -ge:大于或等于(Greater or Equal)

[root@localhost ~]# who |wc -l
4
[root@localhost ~]# [$(who |wc -l) -ge 10] && echo "> = 10 "
bash: [4: 未找到命令...
[root@localhost ~]# [ $(who |wc -l) -gt 5 ] && echo "Too many"
[root@localhost ~]# [ $(who |wc -l) -gt 2 ] && echo "Too many"
Too many
[root@localhost ~]# who
root     :0           2024-07-14 07:03 (:0)
root     pts/0        2024-07-17 08:32 (192.168.72.1)
root     pts/1        2024-07-17 13:33 (192.168.72.1)
root     pts/2        2024-07-15 20:15 (:0)
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3774        1067         818          11        1888        2403
Swap:          4767           0        4767
[root@localhost ~]# free -m|grep "Mem"
Mem:           3774        1067         818          11        1888        2403
[root@localhost ~]# free -m|grep "Mem"|awk '{print $6}'
1888
[root@localhost ~]# FREE=$(free -m|grep "Mem"|awk '{print $6}')
t@localhost ~]# echo $FREE
1888
root@localhost ~]# FREE=$(free -m|grep "Swap"|awk '{print $2}')
[root@localhost ~]# echo $FREE
4767
[root@localhost ~]# FREEE=$(free -m|grep "Mem"|awk '{print $2}')
[root@localhost ~]# echo $FREEE
3774
[root@localhost ~]# [ $FREEE -le 4096 ] && echo "内存还有空间,还可以存储"
内存还有空间,还可以存储
[root@localhost ~]# FREE=$(free -m|grep "Mem"|awk '{print $3}')
[root@localhost ~]# echo $FREE
1064
[root@localhost ~]# [ $FREE -ge 1024 ] && echo "内存资源不足,请尽快处理"
内存资源不足,请尽快处理

4 . 字符串比较

4.1 格式

[ 字符串1=字符串2 ]

[ 字符串1 != 字符串2 ]

[ -z 字符串 ]

4.2 常用的测试操作符

  • =: 字符串内容相同
  • !=: 字符串内容不同,!号表示相反的意思
  • -z :字符串内容为空
[root@localhost ~]# [ $LANG != "en.US" ] && echo "Not en.US"
Not en.US
[root@localhost ~]# read -p "是否覆盖现有文件(yes/no)?" ACK
是否覆盖现有文件(yes/no)?yes
[root@localhost ~]# [ $ACK = "yes" ] && echo "覆盖"
覆盖
[root@localhost ~]# kkk7=
[root@localhost ~]# [ -z $kk7 ] && echo "空字符串"
空字符串
[root@localhost ~]# a=13
[root@localhost ~]# b=15
[root@localhost ~]# [ $a = $b ] && echo true
[root@localhost ~]# [ $a != $b ] && echo true
true

5 . 逻辑测试

5.1 格式

[表达式1]操作符[表达式2]…

命令1 操作符 命令2 …

5.2 常用的测试操作符

  • -a或&&:逻辑与,“而且”的意思
  • -o或|:逻辑或,“或者”的意思
  • !: 逻辑否

[root@localhost ~]# [ -d /opt/100 ] && [ -r /home/10 ] && echo "目录和全向都有"
目录和全向都有
[root@localhost ~]# [ -d /opt/100 ] && [ -r /home/100  ] && echo "yes no"
[root@localhost ~]# [ -d /opt/100 ] && [ -r /home/10  ] && echo "yes no"
yes no
[root@localhost ~]# uname -r
3.10.0-693.el7.x86_64
[root@localhost ~]# uname -r|awk -F. '{print $1}'
3
[root@localhost ~]# XXL=`uname -r|awk -F. '{print $1}'`
[root@localhost ~]# echo $XXL
3
[root@localhost ~]# [ $XXL -ge 3 ] && echo "系统内核符合要求"
系统内核符合要求
[root@localhost ~]# [ $XXL -ge 3 ] && echo "系统内核符合要求"
系统内核符合要求
[root@localhost ~]# XLL=`uname -r|awk -F. '{print $2}'`
[root@localhost ~]# echo $XLL
10
[root@localhost ~]# [ $XXL -ge 3 ] && [ $XLL -ge 9 ] && echo "系统内核符合要求"
系统内核符合要求

二,if语句

  • if单分支语句
  • if双分支语句
  • if多分支语句

1 . if单分支语句

判断目录是否存在,查询目录文件

[root@localhost ~]# vim demo03.sh
[root@localhost ~]# ch
chacl               check-binary-files  chmod
chage               checkisomd5         chown
chardetect          checkmodule         chpasswd
charmap             checkpolicy         chronyc
chat                checksctp           chronyd
chattr              cheese              chroot
chcat               chfn                chrt
chcon               chgrp               chsh
chcpu               chkconfig           chvt
[root@localhost ~]# chmod +x demo03.sh 
[root@localhost ~]# ./demo03.sh 
CentOS_BuildTag  GPL	   LiveOS    RPM-GPG-KEY-CentOS-7
EFI		 images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA		 isolinux  repodata  TRANS.TBL
ok
[root@localhost ~]# ls /mnt
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@localhost ~]# 

 判断段挂载点在不在

[root@localhost ~]# vim demo06.sh
#!/bin/bash
# 定义变量
MOUNT_DIR="/media/cdrom/"
# 判断没有这个目录就创建
if [ ! -d "$MOUNT_DIR" ]; then
    mkdir -p "$MOUNT_DIR"
fi
~
[root@localhost ~]# chmod +x demo06.sh 
[root@localhost ~]# ./demo06.sh 
[root@localhost ~]# ls /media/cdrom

10 大于9

[root@localhost ~]# vim demo04.sh
#!/bin/bash
if [ 10 -gt 9 ]
then
echo "true"
fi
~       
[root@localhost ~]# chmod +x demo04.sh 
[root@localhost ~]# ./demo04.sh 
true

判断是不是脚本

[root@localhost /home/jiaoben]# vim demo07.sh
#!/bin/bash
read -p "请输入您的文件名:" RILE
if [ $FILE==*.sh ]
then
echo "该文件是脚本文件"
fi
~ 
[root@localhost /home/jiaoben]# chmod +x demo07.sh 
[root@localhost /home/jiaoben]# ./demo07.sh 
请输入您的文件名:oo
该文件是脚本文件

检查用户输入的字符串是否首尾是否为数字

[root@localhost /home/jiaoben]# vim demo08.sh
#!/bin/bash
#需求检查用户输入的字符串是否首尾包含除了数字
#1,定义变量交互
read -p "请输入你的字符串:" ATTR
#2,判断所输入的字符串是否符合要求
if [[ $ATTR == *[0-9]* ]]
then
echo "ok"
fi
~
[root@localhost /home/jiaoben]# chmod +x demo08.sh 
[root@localhost /home/jiaoben]# ./demo08.sh 
请输入你的字符串:ijnkjnk
[root@localhost /home/jiaoben]# ./demo08.sh 
请输入你的字符串:1ergjk
ok
[root@localhost /home/jiaoben]# ./demo08.sh 
请输入你的字符串:hjii9
ok

2  . if双分支语句

ping

[root@localhost /home/jiaoben]# vim demo09.sh
#!/bin/bash
IP=192.168.72.30
ping -c 5 -i 0.5 -w 5 $IP &> /dev/null
if [ $? -eq 0 ]; then
    echo "$IP is up"
else
    echo "$IP is down"
fi
~
[root@localhost /home/jiaoben]# chmod +x demo09.sh
[root@localhost /home/jiaoben]# ./demo09.sh 
192.168.72.30 is up

 查看用户是否已经添加如果没有就新建

[root@localhost /home/jiaoben]# vim demo11.sh 
#!/bin/bash
read -p "请输入用户名:" name
id $name &> /dev/null
if [ $? -eq 0 ];then
    echo "该用户已存在!"
else
    useradd $name
    echo "123" | passwd --stdin $name &> /dev/null
    echo "创建用户$name,密码已设置"
fi
~
[root@localhost /home/jiaoben]# chmod +x demo11.sh 
[root@localhost /home/jiaoben]# ./demo11.sh 
请输入用户名:XXK
创建用户XXK,密码已设置
[root@localhost /home/jiaoben]# ./demo11.sh 
请输入用户名:XXK
该用户已存在!

 查找目录是否存在

[root@localhost /home]# vim demo13.sh
#!/bin/bash
read -p "请输入需要查找的目录名:" name
# 使用 find 命令查找目录,并将结果保存到变量 ZZZ 中
ZZZ=$(find / -type d -name "$name" -print -quit 2>/dev/null)
# 判断变量 ZZZ 是否为空,即是否找到了目录
if [ -n "$ZZZ" ]; then
    echo "目录已存在:$ZZZ"
else
    echo "目录不存在"
fi
~
[root@localhost /home]# ./demo13.sh 
请输入需要查找的目录名:aaa
目录已存在:/home/aaa
[root@localhost /home]# ./demo13.sh 
请输入需要查找的目录名:uii
目录不存在

 查看httpd服务,是否启动

[root@localhost /home]# vim demo14.sh
#!/bin/bash
netstat -natup|grep ":80" &> /dev/null
if [ $? -eq 0 ]
then
    echo "网站服务已 运行!"
else
    echo "启动http服务"
yum install -y http > /dev/null
systemctl start httpd
fi
~
[root@localhost /home]# ./demo14.sh 
网站服务以运行!

3  . if多分语句

分数

[root@localhost /home]# vim demo15.sh
#!/bin/bash
read -p "请输入分数:" CHAOXIE
if [ $CHAOXIE -ge 80 ] && [ $CHAOXIE -le 100 ]
then
    echo " $CHAOXIE分,优 "
elif [ $CHAOXIE -ge 60 ] && [ $CHAOXIE -le 79 ]
then
    echo " $CHAOXIE分,良 "
else
    echo " $CHAOXIE分,差 "
fi
~
[root@localhost /home]# ./demo15.sh
请输入分数:81
 81分,优 
[root@localhost /home]# ./demo15.sh
请输入分数:61
 61分,良 
[root@localhost /home]# vim demo15.sh
[root@localhost /home]# ./demo15.sh
请输入分数:59
 59分,差 

查看时间是上午下午中文晚上凌晨

[root@localhost /home]# vim demo21.sh 
#!/bin/bash
# 定义时间
TIME=$(date +%H)
if [ $TIME -ge 6 -a $TIME -lt 11 ]; then
  echo "现在是上午"
elif [ $TIME -ge 11 -a $TIME -lt 13 ]; then
  echo "现在是中午"
elif [ $TIME -ge 13 -a $TIME -lt 18 ]; then
  echo "现在是下午"
elif [ $TIME -ge 18 -a $TIME -lt 24 ]; then
  echo "现在是晚上"
else
  echo "现在是凌晨"
fi
~
[root@localhost /home]# chmod +x demo21.sh 
[root@localhost /home]# ./demo21.sh
现在是下午

查看文件类型

[root@localhost /home]# ./demo23.sh
#!/bin/bash
# 提示用户输入文件路径
read -p "请输入文件路径: " name
# 判断文件类型并输出结果
if [ -d $name ]; then
    echo "这是一个目录"
elif [ -f $name ]; then
    echo "这是一个普通文件"
elif [ -L $name ]; then
    echo "这是一个符号链接"
elif [ -b $name ]; then
    echo "这是一个块设备文件"
elif [ -c $name ]; then
    echo "这是一个字符设备文件"
elif [ -p $name ]; then
    echo "这是一个命名管道(FIFO)"
elif [ -S $name ]; then
    echo "这是一个套接字"
else
    echo "无法判断文件类别"
fi
~
[root@localhost /home]# chmod +x demo23.sh
[root@localhost /home]# ./demo23.sh
请输入文件路径: /home/3001
这是一个符号链接
[root@localhost /home]# ./demo23.sh
请输入文件路径: 14j
这是一个普通文件
[root@localhost /home]# ./demo23.sh
请输入文件路径: /home/u11
这是一个目录

4 .  嵌套if语句

查看httpd服务

[root@localhost /home]# vim demo12.sh
#!/bin/bash
#set -x
ps aux | grep httpd | grep -v grep &> /dev/null
if [ $? -ne 0 ]; then
    # 检查 httpd 是否已安装
    if rpm -q httpd | grep -q "未安装软件包 httpd"; then
        echo "httpd 未安装,正在安装..."
        yum -y install httpd > /dev/null
        echo "httpd 已安装,正在启动..."
        systemctl start httpd
    else
        echo "httpd 已安装,但未运行,正在启动..."
        systemctl start httpd
    fi
else
    echo "httpd 正在运行"
fi
~
[root@localhost /home]# chmod +x demo12.sh
[root@localhost /home]# ./demo12.sh
+ ps aux
+ grep httpd
+ grep -v grep
+ '[' 0 -ne 0 ']'
+ echo 'httpd 正在运行'
httpd 正在运行
[root@localhost /home]# vim demo12.sh
[root@localhost /home]# ./demo12.sh
httpd 正在运行
[root@localhost /home]# systemctl stop httpd.service 
[root@localhost /home]# ./demo12.sh
httpd 已安装,但未运行,正在启动...
[root@localhost /home]# ./demo12.sh
httpd 正在运行

三,case分支语句

查看账户

[root@localhost /home]#vim demo24.sh
#!/bin/bash
# 提示输入用户名
read -p "请输入用户名:" user
# 检查用户是否存在
if grep -q "^$user:" /etc/passwd; then
    # 检查用户是否有家目录
    if [ -d /home/$user ]; then
        echo "该用户状态正常"
    else
        read -p "该用户没有家目录,是否删除该用户,请输入[yes/no]:" ask
        case $ask in
            yes)
                echo "正在删除用户..."
                userdel -r $user &> /dev/null
                sleep 2
                echo "该用户已删除"
                ;;
            no)
                exit
                ;;
            *)
                echo "无效的输入,请输入 yes 或 no"
                ;;
        esac
    fi
else
    echo "该用户不存在"
fi
~
[root@localhost /home]# chmod +x demo24.sh
[root@localhost /home]# useradd testuser1
[root@localhost /home]#useradd testuser2 -M
[root@localhost /home]# ./demo24.sh
请输入用户名:testuser1
该用户状态正常
[root@localhost /home]# ./demo24.sh
请输入用户名:testuser2   
该用户没有家目录,是否删除该用户,请输入[yes/no]:yes
正在删除用户...
该用户已删除
[root@localhost /home]# useradd testuser2 -M
[root@localhost /home]# ./demo24.sh
请输入用户名:testuser2
该用户没有家目录,是否删除该用户,请输入[yes/no]:no
[root@localhost /home]#

根据输入的判断是字母还是数字还是特殊字符

[root@localhost /home]# vim demo26.sh
#!/bin/bash
read -p "请输入您的分数(0~100):" CJ
# 检查输入是否为有效的数字且在 0 到 100 之间
if [ "$CJ" -ge 0 ] 2>/dev/null && [ "$CJ" -le 100 ] 2>/dev/null; then
    # 检查分数范围并设定变量 a
    if [ $CJ -ge 85 -a $CJ -le 100 ]; then
        a="great"
    elif [ $CJ -ge 70 -a $CJ -lt 85 ]; then
        a="standard"
    elif [ $CJ -ge 0 -a $CJ -lt 70 ]; then
        a="false"
    fi
    # 使用 case 语句输出结果
    case $a in
    great)
        echo "$CJ分,优秀"
        ;;
    standard)
        echo "$CJ分,合格"
        ;;
    false)
        echo "$CJ分,不合格"
        ;;
    esac
else
    echo "输入有误,请输入一个0到100之间的整数。"
fi
~
[root@localhost /home]# bash -n demo26.sh
[root@localhost /home]# chmod +x demo26.sh
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):99
99分,优秀
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):101
输入有误,请输入一个0到100之间的整数。
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):199
输入有误,请输入一个0到100之间的整数。
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):60
60分,不合格
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):70
70分,合格
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):85
85分,优秀

根据输入的成绩判断是优秀还是合格不合格

[root@localhost /home]# vim demo26.sh
#!/bin/bash
read -p "请输入您的分数(0~100):" CJ
# 检查输入是否为有效的数字且在 0 到 100 之间
if [ "$CJ" -ge 0 ] 2>/dev/null && [ "$CJ" -le 100 ] 2>/dev/null; then
    # 检查分数范围并设定变量 a
    if [ $CJ -ge 85 -a $CJ -le 100 ]; then
        a="great"
    elif [ $CJ -ge 70 -a $CJ -lt 85 ]; then
        a="standard"
    elif [ $CJ -ge 0 -a $CJ -lt 70 ]; then
        a="false"
    fi
    # 使用 case 语句输出结果
    case $a in
    great)
        echo "$CJ分,优秀"
        ;;
    standard)
        echo "$CJ分,合格"
        ;;
    false)
        echo "$CJ分,不合格"
        ;;
    esac
else
    echo "输入有误,请输入一个0到100之间的整数。"
fi
~
[root@localhost /home]# bash -n demo26.sh
[root@localhost /home]# chmod +x demo26.sh
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):99
99分,优秀
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):101
输入有误,请输入一个0到100之间的整数。
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):199
输入有误,请输入一个0到100之间的整数。
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):60
60分,不合格
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):70
70分,合格
[root@localhost /home]# ./demo26.sh
请输入您的分数(0~100):85
85分,优秀

石头剪刀布

[root@localhost /home]# vim demo28.sh
#!/bin/bash
NU=$((RANDOM % 3))
echo "请根据下列提示选择石头剪刀布"
echo "1,石头"
echo "2,剪刀"
echo "3,布"
read -p "请选择1~3:" CHOOSE
case $CHOOSE in 
1)
  if [ $NU -eq 0 ]; then
    echo "平"
  elif [ $NU -eq 1 ]; then
    echo "胜"
  else 
    echo "负"
  fi
  ;;  
2)  
  if [ $NU -eq 0 ]; then
    echo "负"
  elif [ $NU -eq 1 ]; then
    echo "平"
  else  
    echo "胜"
  fi
  ;;
3)
  if [ $NU -eq 0 ]; then
    echo "胜"
  elif [ $NU -eq 1 ]; then
    echo "负"
  else
    echo "平"
  fi
  ;;
*)
  echo "请输入数字1,2,3"
  ;;
esac

~
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:3
平
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:3
胜
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:3
胜
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:3
负
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:2
负
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:2
平
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:2
负
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:1
负
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:2
平
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:1
负
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:1
负
[root@localhost /home]# ./demo28.sh 
请根据下列提示选择石头剪刀布
1,石头
2,剪刀
3,布
请选择1~3:5
请输入数字1,2,3
[root@localhost /home]# 

判断季度

[root@localhost /home]# vim demo29.sh
#!/bin/bash
echo "判断1~12月属于哪个季度"
echo "请输入1~12:"
read -p "请输入月份:" MONTH
case $MONTH in
1|2|3)
  echo "$MONTH 属于第一季度"
  ;;
4|5|6)
  echo "$MONTH 属于第二季度"
  ;;
7|8|9)
  echo "$MONTH 属于第三季度"
  ;;
10|11|12)
    echo "$MONTH属于第四季度"
  ;;
*)
  echo "请输入1~12数字"
esac
~
[root@localhost /home]# bash -n demo29.sh
[root@localhost /home]# chmod +x demo29.sh
[root@localhost /home]# ./demo29.sh 
判断1~12月属于哪个季度
请输入1~12:
请输入月份:2
2 属于第一季度
[root@localhost /home]# ./demo29.sh 
判断1~12月属于哪个季度
请输入1~12:
请输入月份:5
5 属于第二季度
[root@localhost /home]# ./demo29.sh 
判断1~12月属于哪个季度
请输入1~12:
请输入月份:11
11属于第四季度
[root@localhost /home]# ./demo29.sh 
判断1~12月属于哪个季度
请输入1~12:
请输入月份:98
请输入1~12数字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值