分类:
2012-03-31 18:47:34
原文地址:巧用vim+sed整理shell脚本文件 作者:yuhongchun
在工作中遇到的问题,此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就满足我的需求了,希望大家找下比较难的脚本测试~