大家一起看程序

大家一起看程序

小虾接到如下一个程序,百思不得其解,还望那位大虾点化
1 *!/bin/sh
2 *
3
4 PIDFILE=/var/run/gpm.pid
5 GPM=/usr/sbin/gpm
6 CFG=/etc/gpm. conf
7
8 test -x $GPM | | exit 0
9
10 if [ "$ ( id - u )" != "0" ]
11 then
12 echo "You must be root to start, stop or restart gpm."
13 exit 1
14 f i
15
16
17cmdln=
18 i f [ -f $CFG ]; then
19 . $CFG
20 if [-n "$device" ]; then cmdln="$cmdln -m $device"; f i
2L if [-n "$type" ]; then cmdln="$cmdln -t $type"; fi
22 if [-n "$responsiveness" ]; then cmdln="$cmdln -r $responsiveness"; fi
23 if [-n "$repeat_type" ]; then cmdln="$cmdln -R$repeat_type"; fi
24 if [-n "$append" ] ; then cmdln="$cmdln $append"; fi
25 fi
26
27 gpm_start () {
28 start-stop-daemon --start --quiet --exec $GPM -- $cmdln
29 return 0
30 }
31
32 gpm_stop () {
33 /usr/sbin/gpm -k
34 }
35
36
37 case "$1" in
38 start)
39 gpm_start
40 ; ;
41 stop)
42 gpm_stop
43 ; ;
44 force-reload | restart)
45 gpm_stop
46 sleep 3
47 gpm_start
48 ; ;
49 *)
50 echo "Usage: /etc/init.d/gpm {start|stop|restart|force-reload}"
51 exit 1
52 esac
53
54 exit 0
不难呀
这已经是很简单的脚本了,只是通过参数来启动/停止/重起/强制重载gpm服务。
各位大侠,欧可是小虾   ,还望众侠牺牲一点耐性,能简单的解释一下程序吗?特别是27到52行
gpm_start()  和 gpm_stop()  是两个子函数呀,从37行开始对从命令行接收的第一个参数即$1进行检查,如果是 start 就调用 gpm_start() ,如果是 stop 则调用 gmp_stop() (调用时括号省掉),如果是 force-reload 或 restart 则先停掉服务再启动,如果非以上参数(即*),则显示命令的用法。

这些基础知识你应该先看看书,如果不是今天天气好的话,我也懒得回复的。
[quote:60303020d0="lanche"]如果不是今天天气好的话[/quote]
南宁的天气好么?
桂林这里挺冷的,手长冻疮了,右手四个手指粗得~~
天气好不好跟我的心情有关 ...   
[quote:9befda16b6="lanche"]天气好不好跟我的心情有关 ...   [/quote]
手冻得跟猪蹄一样了,我看我的心情是没那么快好转了