2014-12-02 45 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