如何用shell在rc.local中添加一行

时间:2013-07-12 02:02:23

标签: linux ubuntu automation rc

我正在研究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?

2 个答案:

答案 0 :(得分:29)

使用Sed

进行测试

sed -e '$i \nohup sh /bocommjava/socket.sh &\n' rc.local

真的修改

sed -i -e '$i \nohup sh /bocommjava/socket.sh &\n' rc.local

答案 1 :(得分:1)

最简单的方法是使用脚本语言(例如: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')