2012-10-11 51 views

回答

-1

$> echo -n "oldpasswd\nnewpasswd\nnewpasswd" | passwd

或者爲了讓事情更清潔的方式,寫一個文件,你的密碼

oldpassword 
newpassword 
newpassword 

$> passwd < file

管道和重定向操作符與任何內容替換標準輸入的文件重定向,要麼是管道命令的輸出。

+2

這真的有用嗎?我在'passwd'程序讀取'/ dev/tty'而不是標準輸入的幻象之下,因此重定向標準輸入沒有任何意義。爲了解決這個問題,你通常使用['expect'](http://expect.sourceforge.net/)程序,該程序安排程序以'/ dev/tty'連接到僞tty或「期待」的'pty'可以通過編程方式驅動。 –

+0

更改用戶x的密碼 舊密碼:sh:-n:未找到。 這是運行此命令時出錯並進入暫停模式 –

3

你應該看看chpasswd命令(如果你的Linux的味道可用):

echo 'userid:newpasswd' | chpasswd 

或者,你可以貓文件中列出用戶名:passwd文件用於在單獨一行每個帳戶。

就是這樣。

相關問題