|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近工作中遇到一个问题,想在某个文件的指定位置后面添加一个标志位,要求在shell脚本里实现。
- j, s) _+ m, c/ O2 I8 `4 h8 s+ }, x; c \
问题说明:4 A, ]2 s- o: o, E2 S
6 k' v& u8 y ?- {$ v% r
想在sys_config.fex文本的某个字符串后面添加一个flag( I; y+ K- L# R) V& D
, }+ K5 b9 j+ T- G( P5 m" e8 L例如:sys_config.fex里有这么一段 B0 ?4 J9 h! ]7 V) n: [( c
r% l8 B! V: Y& M
[nand_para]+ ]4 m1 S7 ` r0 o* I2 I
+ T8 j5 q% H2 V+ D# A. B2 r
nand_use = 1
; A; Q, v1 Z4 |6 x& {+ y* n ?
7 m# j5 N3 O3 B/ T% }. o8 |要求在[nand_para]后面添加一个flag = 1,最后变成(不影响其他内容):
: | W8 J; _/ P3 k4 B# {9 F' W5 ]- P6 e, P7 \+ m3 w
[nand_para]
7 F, o: } h9 o$ S# Y6 W" t7 m7 S! @, z3 @3 s
flag = 1
8 o, h* {9 {! P2 N8 e- Q+ ~7 x. ^/ P( z9 z/ F# s* x/ l# E& J
nand_use = 1* P) y7 Z8 J' a* g. C. q- O) S
7 U# P- k2 v& X0 y+ s: f
具体实现:: r ~/ C+ B! }: y2 z. N! }
: P. k* s) t; _
; N+ W/ U- j" c8 E3 y# r& o
% a0 @& z3 p+ b! k# i
8 \, h+ R$ J* ]* |
7 |" p g! v, `( x. X& x7 @, i2 x9 [/ P( {% Q$ f( d& V2 G& G8 }
参考资料(http://bbs.chinaunix.net/thread-1585877-1-1.html):) D: r2 R0 J5 J! S! z" [
- E+ K: v- k) `8 t9 K0 I) g
脚本说明:6 _9 Y- A+ m1 t0 [* O+ X
把“# chkconfig: 2345 98 98”和“# description:http server”写入到/etc/init.d/httpd的“#!/bin/sh”字段下面。
) E& X) e( Z! Q2 ]
" N* q' c# j# R1 `' U& @8 E. Y2 g$ I
我只是加多了个参数 -i,如果不加该参数,虽然屏幕上显示:
6 y. T N) r* C#!/bin/sh
. C, }0 R4 ^) ^$ U! f# chkconfig: 2345 98 98
6 _. B& a' K# ~2 K0 q) _ ]' T6 Q; i# description:http server
5 K5 m) _1 g' |$ Y8 H1 e. t
9 [4 c/ s: I9 O# q& `: |! H
; H- R5 ]6 Q* z9 M L9 e. [$ ?0 H) F
, L6 O5 F+ D) r; H/ q- _4 n) Fsed -i '/#!\/bin\/sh/a\# chkconfig: 2345 98 98\n# description:http server' /etc/init.d/httpd
( p, B- q' i: @
; }. Y& V$ u8 @& [4 l. A9 F
+ q# B: \9 _& O, H+ X! V r. t. r
+ p7 L% }" e; }: X, E* y1 k8 m( h |
|