首页 电脑 电脑学堂 查看内容

巧用vim+sed整理shell脚本文件

2011-9-1 15:42 689 0

摘要: 在工作中遇到的问题,此nginx配置脚本我在googel下载下来的,实际复制贴貼到服务器中运行时发现前面都有 001-100的行标识符,外带空格,影响运行和美观啊;本来想一行行删除,后来不禁自己也...
关键词: nbsp RETVAL nginx nginxd echo prog nginxDir nginxPid start monitor

在工作中遇到的问题,此nginx配置脚本我在googel下载下来的,实际复制贴貼到服务器中运行时发现前面都有 001-100的行标识符,外带空格,影响运行和美观啊;本来想一行行删除,后来不禁自己也鄙视自己:这也太没技术含量了吧?具体解决方法如下:①首先在 vim里删除所有行首数字,:%s/^[0-9][0-9]* // ;②然后再删除所有行首空字符,sed -i 's/^[[:space:]]*//' nginxd.sh 解决问题,整个nginxd.sh脚本如下,有兴趣的朋友也拿着练下手。 001    #!/bin/sh002     003    # source function library004    . /etc/rc.d/init.d/functions005     006    # Source networking configuration.007    . /etc/sysconfig/network008     009    # Check that networking is up.010    [ ${NETWORKING} = "no" ] && exit 0011     012    RETVAL=0013    prog="nginx"014     015    nginxDir=/usr/local/nginx016    nginxd=$nginxDir/sbin/nginx017    nginxConf=$nginxDir/conf/nginx.conf018    nginxPid=$nginxDir/nginx.pid019     020    nginx_check()021    {022        if [[ -e $nginxPid ]]; then023            ps aux |grep -v grep |grep -q nginx024            if (( $? == 0 )); then025                echo "$prog already running..."026                exit 1027            else028                rm -rf $nginxPid &> /dev/null029            fi030        fi031    }032     033    start()034    {035        nginx_check036        if (( $? != 0 )); then037            true038        else039            echo -n $"Starting $prog:"040            daemon $nginxd -c $nginxConf041            RETVAL=$?042            echo043            [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx044            return $RETVAL045        fi046    }047     048    stop()049    {050        echo -n $"Stopping $prog:"051        killproc $nginxd052        RETVAL=$?053        echo054        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx $nginxPid055    }056     057    reload()058    {059        echo -n $"Reloading $prog:"060        killproc $nginxd -HUP061        RETVAL=$?062        echo063    }064     065    monitor()066    {067        status $prog &> /dev/null068        if (( $? == 0 )); then069            RETVAL=0070        else071            RETVAL=7072        fi073    }074     075    case "$1" in076            start)077                    start078                    ;;079            stop)080                    stop081                    ;;082            restart)083                    stop084                    start085                    ;;086            reload)087                    reload088                    ;;089            status)090                    status $prog091                    RETVAL=$?092                    ;;093            monitor)094                    monitor095                    ;;096            *)097                    echo $"Usage: $0 {start|stop|restart|reload|status|monitor}"098                    RETVAL=1099    esac100    exit $RETVAL 另注:这个文件我找得比较简单,后来我发现用sed -i 's/[0-9]* //g' nginxd.sh就满足我的需求了,希望大家找下比较难的脚本测试~ 本文出自 “抚琴煮酒” 博客,请务必保留此出处http://andrewyu.blog.51cto.com/1604432/504993
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部