我正在使用 Ubuntu 12.04 并编写环境自动构建 shell。在 shell 中,我需要更改 rc.local 中的某些内容。
这是我的 rc.local 现在。
#!/bin/sh -e
#......
exit 0
我想像这样修改它:
#!/bin/sh -e
#......
nohup sh /bocommjava/socket.sh &
exit 0
现在我用nano来修改它,有没有可以将行插入rc.local的命令?
我正在使用 Ubuntu 12.04 并编写环境自动构建 shell。在 shell 中,我需要更改 rc.local 中的某些内容。
这是我的 rc.local 现在。
#!/bin/sh -e
#......
exit 0
我想像这样修改它:
#!/bin/sh -e
#......
nohup sh /bocommjava/socket.sh &
exit 0
现在我用nano来修改它,有没有可以将行插入rc.local的命令?
使用Sed
测试用
sed -e '$i \nohup sh /bocommjava/socket.sh &\n' rc.local
真的修改
sed -i -e '$i \nohup sh /bocommjava/socket.sh &\n' rc.local
最简单的方法是使用脚本语言(例如:python、perl 等...)。
#!/usr/bin/env python
import os
with open('/etc/rc.local') as fin:
with open('/etc/rc.local.TMP') as fout:
while line in fin:
if line == 'exit 0':
fout.write('nohup sh /bocommjava/socket.sh &\n')
fout.write(line)
# save original version (just in case)
os.rename('/etc/rc.local', '/etc/rc.local.jic')
os.rename('/etc/rc.loca.TMP', '/etc/rc.local')