巧用vim sed整理shell脚本文件-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 537117
  • 博文数量: 48
  • 博客积分: 1249
  • 博客等级: 中尉
  • 技术积分: 1926
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-04 10:22
文章存档

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就满足我的需求了,希望大家找下比较难的脚本测试~

阅读(3022) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

2014-07-03 09:41:56

我觉得,如果只是去除前面的编号可以加一个托字符,如:sed -i 's/^[0-9]* //g' nginxd.sh
不然你的第10行,会出现问题,exit 0 ,会变成 exit0.

|
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图