树莓派脚本编程-在指定文件指定行增加内容

  • FishXX
  • LV5工程师
  • |      2015-04-20 15:33:57
  • 浏览量 483
  • 回复:0
#!/bin/bash

num=$(grep -n \'^exit 0\' /etc/rc.local | awk -F ":" \'{print $1}\')

numfinal=$

numfinala=$numfinal"a"

c=$(grep -n \'^sudo myprog\' /etc/rc.local)

if ; then

  sed -i "$numfinala sudo myprog" /etc/rc.local

fi
最近在做一个安装程序,安装程序中的有项功能需要在/etc/rc.local中最后一行exit 0之前添加其它命令才行。
所以做了这么个脚本,功能是在exit 0之前添加sudo myprog,下边来逐行解释下脚本的功能
第一行的#!/bin/bash功能为把此脚本的解释器设置为bash
第二行中grep -n \'^exit 0\' /etc/rc.local的功能为获取一开始为\'exit 0\'所在的全部行的内容(带行号)

awk -F ":" \'{print $1}\'的功能为,以:分隔所在的行,并获取第一个参数
grep后的结果为25:exit 0那么继续awk后的结果就是25了
第三行的功能为把行号减1,因为要在前一行的后边添加内容。
第四行的命令为在行号后边添加a,这样在sed命令中就是追加了
第五行的功能为检测是否已经添加了这行命令
第六行的功能为如果$c的值是空的,也就是没有添加过命令,那么执行下面的命令
第七行的功能就是在/etc/rc.local中指定的行号后边添加命令行。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子