日期:2014-05-16 浏览次数:20913 次
本文链接:http://codingstandards.iteye.com/blog/781017 ?? (转载请注明出处)
?
case结构用于多种情况的条件判断。类似于其他编程语言中的switch/case语句,但从语法形式上讲,有很大的不同。
case 字符串 in
??? 模式)
??????? 语句
??????? ;;
??? 模式2 | 模式3)
???????? 语句
???????? ;;
??? *)
???????? 默认执行的 语句
???????? ;;
esac
提示:esac就是case反过来写。
show_baby() {
case $1 in
男 | M)
echo "是位小少爷"
;;
女 | F)
echo "是位小千金"
;;
*)
echo "有没有搞错"
;;
esac
}
show_baby 男
show_baby M
show_baby 女
show_baby F
show_baby 0
?
[root@jfht ~]# show_baby() {
>???? case $1 in
>???? 男 | M)
>???? echo "是位小少爷"
> ;;
> 女 | F)
>???? echo "是位小千金"
> ;;
> *)
>???? echo "有没有搞错"
> ;;
> esac
> }
[root@jfht ~]#
[root@jfht ~]# show_baby 男
是位小少爷
[root@jfht ~]# show_baby M
是位小少爷
[root@jfht ~]# show_baby 女
是位小千金
[root@jfht ~]# show_baby F
是位小千金
[root@jfht ~]# show_baby 0
有没有搞错
[root@jfht ~]#
?
#!/bin/bash
#
# /etc/rc.d/init.d/atd
#
# Starts the at daemon
#
# chkconfig: 345 95 5
# description: Runs commands scheduled by the at command at the time \
# specified when at was run, and runs batch commands when the load \
# average is low enough.
# processname: atd
# Source function library.
. /etc/init.d/functions
test -x /usr/sbin/atd || exit 0
RETVAL=0
#
# See how we were called.
#
prog="atd"
start() {
# Check if atd is already running
if [ ! -f /var/lock/subsys/atd ]; then
echo -n $"Starting $prog: "
daemon /usr/sbin/atd
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/atd
echo
fi
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
killproc /usr/sbin/atd
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/atd
echo
return $RETVAL
}
restart() {
stop
start
}
reload() {
restart
}
status_at() {
status /usr/sbin/atd
}
case "$1" in
start)
start
;;
stop)
stop
;;
reload|restart)
restart
;;
condrestart)
if [ -f /var/lock/subsys/atd ]; then
restart
fi
;;
status)
status_at
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
exit 1
esac
exit $?
exit $RETVAL
?
[root@smsgw root]# ls -l /etc/init.d/atd
-rwxr-xr-x??? 1 root???? root???????? 1176 2004-10-06? /etc/init.d/atd
[root@smsgw root]# service atd
Usage: /etc/init.d/atd {start|stop|restart|condrestart|status}
[root@smsgw root]# service atd status
atd (pid 1899) is running...
[root@smsgw root]# service atd restart <