2015-08-28 68 views
1

我正在編寫一個簡單的腳本來自動編輯Ubuntu 14.04 LTS上的crontabs。我需要一段代碼才能在系統上顯示當前的crontabs。我的腳本輸出內部的醜陋sudo密碼提示

目前,我有這樣的:

for user in $cut -d ':' -f 1 /etc/passwd | sed -n '35,60000p'); do echo $user; sudo crontab -u $user; done 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^   ^^^^ 
Getting a list of non-system users      Displaying user   Displaying the crontab of each user. 

然而,當我執行命令,我有時會在列表中的第一個用戶名後插入sudo的密碼提示,造成了非常醜陋不堪的輸出閱讀報告。

有人可以幫我解決這個問題嗎?我希望能夠在顯示報告之前提示您輸入超級用戶密碼。

回答

2

for -loop,添加此命令前右:

sudo -v 

將更新緩存sudo憑證,如有必要,提示輸入密碼,但除此之外,沒有任何效果。 (有關詳細信息,在the Sudo Manual搜索--validate

更重要的是,你可能要中止腳本,如果失敗:

sudo -v || exit $?