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