在工作中遇到的問題,此nginx.sh配置腳本是我在Googel下載下傳下來的,實際複制貼貼到伺服器中運作時發現前面都有 001-100的行辨別符,外帶空格,影響運作和美觀啊;本來想一行行删除,後來不禁自己也鄙視自己:這也太沒技術含量了吧?具體解決方法如下:
①首先在 vim裡删除所有行首數字,如下所示:
1
<code>:%s/^[0-9][0-9]* </code><code>//</code>
②然後再删除所有行首空字元,如下所示:
<code>sed</code> <code>-i </code><code>'s/^[[:space:]]*//'</code> <code>nginxd.sh</code>
整個nginxd.sh腳本如下,有興趣的朋友也拿着練下手。
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<code>001 </code><code>#!/bin/sh</code>
<code>002 </code>
<code>003 </code><code># source function library</code>
<code>004 . </code><code>/etc/rc</code><code>.d</code><code>/init</code><code>.d</code><code>/functions</code>
<code>005 </code>
<code>006 </code><code># Source networking configuration.</code>
<code>007 . </code><code>/etc/sysconfig/network</code>
<code>008 </code>
<code>009 </code><code># Check that networking is up.</code>
<code>010 [ ${NETWORKING} = </code><code>"no"</code> <code>] && </code><code>exit</code> <code>0</code>
<code>011 </code>
<code>012 RETVAL=0</code>
<code>013 prog=</code><code>"nginx"</code>
<code>014 </code>
<code>015 nginxDir=</code><code>/usr/local/nginx</code>
<code>016 nginxd=$nginxDir</code><code>/sbin/nginx</code>
<code>017 nginxConf=$nginxDir</code><code>/conf/nginx</code><code>.conf</code>
<code>018 nginxPid=$nginxDir</code><code>/nginx</code><code>.pid</code>
<code>019 </code>
<code>020 nginx_check()</code>
<code>021 {</code>
<code>022 </code><code>if</code> <code>[[ -e $nginxPid ]]; </code><code>then</code>
<code>023 </code><code>ps</code> <code>aux |</code><code>grep</code> <code>-</code><code>v</code> <code>grep</code> <code>|</code><code>grep</code> <code>-q nginx</code>
<code>024 </code><code>if</code> <code>(( $? == 0 )); </code><code>then</code>
<code>025 </code><code>echo</code> <code>"$prog already running..."</code>
<code>026 </code><code>exit</code> <code>1</code>
<code>027 </code><code>else</code>
<code>028 </code><code>rm</code> <code>-rf $nginxPid &> </code><code>/dev/null</code>
<code>029 </code><code>fi</code>
<code>030 </code><code>fi</code>
<code>031 }</code>
<code>032 </code>
<code>033 start()</code>
<code>034 {</code>
<code>035 nginx_check</code>
<code>036 </code><code>if</code> <code>(( $? != 0 )); </code><code>then</code>
<code>037 </code><code>true</code>
<code>038 </code><code>else</code>
<code>039 </code><code>echo</code> <code>-n $</code><code>"Starting $prog:"</code>
<code>040 daemon $nginxd -c $nginxConf</code>
<code>041 RETVAL=$?</code>
<code>042 </code><code>echo</code>
<code>043 [ $RETVAL = 0 ] && </code><code>touch</code> <code>/var/lock/subsys/nginx</code>
<code>044 </code><code>return</code> <code>$RETVAL</code>
<code>045 </code><code>fi</code>
<code>046 }</code>
<code>047 </code>
<code>048 stop()</code>
<code>049 {</code>
<code>050 </code><code>echo</code> <code>-n $</code><code>"Stopping $prog:"</code>
<code>051 killproc $nginxd</code>
<code>052 RETVAL=$?</code>
<code>053 </code><code>echo</code>
<code>054 [ $RETVAL = 0 ] && </code><code>rm</code> <code>-f </code><code>/var/lock/subsys/nginx</code> <code>$nginxPid</code>
<code>055 }</code>
<code>056 </code>
<code>057 reload()</code>
<code>058 {</code>
<code>059 </code><code>echo</code> <code>-n $</code><code>"Reloading $prog:"</code>
<code>060 killproc $nginxd -HUP</code>
<code>061 RETVAL=$?</code>
<code>062 </code><code>echo</code>
<code>063 }</code>
<code>064 </code>
<code>065 monitor()</code>
<code>066 {</code>
<code>067 status $prog &> </code><code>/dev/null</code>
<code>068 </code><code>if</code> <code>(( $? == 0 )); </code><code>then</code>
<code>069 RETVAL=0</code>
<code>070 </code><code>else</code>
<code>071 RETVAL=7</code>
<code>072 </code><code>fi</code>
<code>073 }</code>
<code>074 </code>
<code>075 </code><code>case</code> <code>"$1"</code> <code>in</code>
<code>076 start)</code>
<code>077 start</code>
<code>078 ;;</code>
<code>079 stop)</code>
<code>080 stop</code>
<code>081 ;;</code>
<code>082 restart)</code>
<code>083 stop</code>
<code>084 start</code>
<code>085 ;;</code>
<code>086 reload)</code>
<code>087 reload</code>
<code>088 ;;</code>
<code>089 status)</code>
<code>090 status $prog</code>
<code>091 RETVAL=$?</code>
<code>092 ;;</code>
<code>093 monitor)</code>
<code>094 monitor</code>
<code>095 ;;</code>
<code>096 *)</code>
<code>097 </code><code>echo</code> <code>$</code><code>"Usage: $0 {start|stop|restart|reload|status|monitor}"</code>
<code>098 RETVAL=1</code>
<code>099 </code><code>esac</code>
<code>100 </code><code>exit</code> <code>$RETVAL</code>
另注:如果單純隻用sed來執行的話就比較簡單了,如下所示的一句指令就可以搞定需求了:
<code>sed</code> <code>-i -e </code><code>'s@^[0-9][0-9]*@@ '</code> <code>-e </code><code>'s@^[[:space:]]* @@'</code> <code>nginx.sh</code>
本文轉自 撫琴煮酒 51CTO部落格,原文連結:http://blog.51cto.com/yuhongchun/504993,如需轉載請自行聯系原作者