shell中的case语句

case语句(简单)   =====  if语句

case 变量  in
值1)
    命令;;
值2)
    命令;;
值3)
    命令;;
*)
    命令;;
esac

[root@vh01 script]# vim i.sh
#!/bin/bash
case $1 in
-c)
   cat $2;;
-v)
   vim $2;;
-d)
  rm -rf $2;;
-t)
  touch $2;;
*)
  echo "Usage $0 {-c|-v|-d|-t}"
esac




read -p "请输入1-5:"  x
case x  in
1)
           echo "CPU的工作频率如下:"
           cat /proc/cpuinfo|grep MHz
           read -p "请输入回车继续";;
2)
           echo "内存信息如下:"
           free |grep "+"
           read -p "请输入回车继续";;
3)
            echo "硬盘数据如下:"
            df -h|grep /boot
            read -p "请输入回车继续";;
4)
            echo "本机IP是:"
            ifconfig eth0 |grep "inet addr"
            read -p "请输入回车继续";;
5)
            exit;;
esac


[root@vh01 script]# vim /etc/init.d/myhttpd
#!/bin/bash
#chkconfig: - 80 90
case $1 in
start)
     if [ ! -f /var/run/httpd/httpd.pid ];then
     /usr/sbin/httpd > /dev/null
     echo "httpd is starting"
     else
     echo "httpd is already runned"
     fi;;
stop)
     if [ -f /var/run/httpd/httpd.pid ];then
     kill `cat /var/run/httpd/httpd.pid`
     echo "httpd is stopping"
     else
     echo  "httpd already stoped"
     fi;;
restart)
     sleep 0.5
     if [ -f /var/run/httpd/httpd.pid ];then
     kill `cat /var/run/httpd/httpd.pid`
     echo "httpd is stopping"
     else
     echo  "httpd already stoped"
     fi
     if [ ! -f /var/run/httpd/httpd.pid ];then
     /usr/sbin/httpd > /dev/null
     echo "httpd is starting"
     else
     echo "httpd is already runned"
     fi;;
status)
     if [ -f /var/run/httpd/httpd.pid ];then
         echo "httpd is running"
     else
         echo "httpd is stoped"
     fi;;
*)
     echo "usage $0 {start|stop|restart|stauts}";;
esac

posted @ 2021-08-08 11:46  Linux刀客  阅读(324)  评论(0编辑  收藏  举报