2014-12-02 48 views
1

我要评论的Defaults requiretty线在sudoers文件注释行

我需要做的是在shell脚本的自动化安装的一部分

我写了下面;

sudo sed -i 's/Defaults requiretty/# Defaults requiretty/g' /etc/sudoers.old 

sudoers.old是sudoers文件的副本 - 先尝试在另一个文件)

但是,它并没有发表评论就行了。

如何通过shell对Defaults requiretty行进行注释?

+3

不怎么样的主意手动编辑sudoers文件。你最好使用'visudo'做这个。 – fedorqui 2014-12-02 12:00:53

+1

谢谢,但我需要壳 – Dejell 2014-12-02 12:01:18

+2

而我有机器的快照之前,我做它 – Dejell 2014-12-02 12:21:16

回答

2

像下面那样改变你的sed命令。

sudo sed -i '/Defaults requiretty/s/^/#/' /etc/sudoers.old 

如果有一个以上的空间的话Defaultsrequiretty那么最好使用下面之间。

sudo sed -i '/Defaults \+requiretty/s/^/#/' /etc/sudoers.old 

sudo sed -i '/Defaults[[:space:]]\+requiretty/s/^/#/' /etc/sudoers.old 
+0

它并没有取代它:( – Dejell 2014-12-02 11:59:41

+0

是字母是正确的? – 2014-12-02 12:00:33

+0

谢谢。你是对的。有5个空格之间的默认值如果我不确定这些空格,我该如何控制它? – Dejell 2014-12-02 12:02:29