如何在 Unix Shell 脚本中更新文件中的文本

Vin*_*nyD 3 unix shell

我正在创建一个需要更新 sudoers 文件的 shell 脚本。所以基本上我希望能够将“:/usr/local/bin/”附加到/etc/sudoers中的以下文本:

secure_path = /sbin:/bin:/usr/sbin:/usr/bin

我需要在命令中使用 sudo 以获得修改权限。知道我怎么能做到这一点吗?

Jef*_*and 5

这么多方法!

旧备用是 sed: sed 's/\(secure_path.*\)/\1:\/usr\/local\/bin/' /etc/sudoers

脚本vim也可以做高级的事情。您在 vim 中输入的任何进程都可以保存到 vim 脚本中并进行回放。

对此非常方便的最新工具是Augueas。它通常与 Puppet 一起使用,它以结构化的方式围绕编辑文件进行构建。因此,它了解文本文件中的上下文和层次结构。