2012年(3)
(45)
分类: delphi
2011-12-15 04:26:07
在工作中遇到的问题,此nginx配置脚本我在googel下载下来的,实际复制贴貼到服务器中运行时发现前面都有 001-100的行标识符,外带空格,影响运行和美观啊;本来想一行行删除,后来不禁自己也鄙视自己:这也太没技术含量了吧?具体解决方法如下:①首先在 vim里删除所有行首数字,:%s/^[0-9][0-9]* // ;②然后再删除所有行首空字符,sed -i 's/^[[:space:]]*//' nginxd.sh 解决问题,整个nginxd.sh脚本如下,有兴趣的朋友也拿着练下手。
001 #!/bin/sh
002
003 # source function library
004 . /etc/rc.d/init.d/functions
005
006 # source networking configuration.
007 . /etc/sysconfig/network
008
009 # check that networking is up.
010 [ ${networking} = "no" ] && exit 0
011
012 retval=0
013 prog="nginx"
014
015 nginxdir=/usr/local/nginx
016 nginxd=$nginxdir/sbin/nginx
017 nginxconf=$nginxdir/conf/nginx.conf
018 nginxpid=$nginxdir/nginx.pid
019
020 nginx_check()
021 {
022 if [[ -e $nginxpid ]]; then
023 ps aux |grep -v grep |grep -q nginx
024 if (( $? == 0 )); then
025 echo "$prog already running..."
026 exit 1
027 else
028 rm -rf $nginxpid &> /dev/null
029 fi
030 fi
031 }
032
033 start()
034 {
035 nginx_check
036 if (( $? != 0 )); then
037 true
038 else
039 echo -n $"starting $prog:"
040 daemon $nginxd -c $nginxconf
041 retval=$?
042 echo
043 [ $retval = 0 ] && touch /var/lock/subsys/nginx
044 return $retval
045 fi
046 }
047
048 stop()
049 {
050 echo -n $"stopping $prog:"
051 killproc $nginxd
052 retval=$?
053 echo
054 [ $retval = 0 ] && rm -f /var/lock/subsys/nginx $nginxpid
055 }
056
057 reload()
058 {
059 echo -n $"reloading $prog:"
060 killproc $nginxd -hup
061 retval=$?
062 echo
063 }
064
065 monitor()
066 {
067 status $prog &> /dev/null
068 if (( $? == 0 )); then
069 retval=0
070 else
071 retval=7
072 fi
073 }
074
075 case "$1" in
076 start)
077 start
078 ;;
079 stop)
080 stop
081 ;;
082 restart)
083 stop
084 start
085 ;;
086 reload)
087 reload
088 ;;
089 status)
090 status $prog
091 retval=$?
092 ;;
093 monitor)
094 monitor
095 ;;
096 *)
097 echo $"usage: $0 {start|stop|restart|reload|status|monitor}"
098 retval=1
099 esac
100 exit $retval
另注:这个文件我找得比较简单,后来我发现用sed -i 's/[0-9]* //g' nginxd.sh就满足我的需求了,希望大家找下比较难的脚本测试~
2014-07-03 09:41:56
我觉得,如果只是去除前面的编号可以加一个托字符,如:sed -i 's/^[0-9]* //g' nginxd.sh
不然你的第10行,会出现问题,exit 0 ,会变成 exit0.