我想通过 shell 脚本更改 Unix 用户的密码,但没有提示输入旧密码。
这意味着我想在 shell 脚本本身中提供旧密码和新密码,以便在提示期间它会从脚本文件中读取它。
您应该查看chpasswd
命令(如果在您的 linux 风格中可用):
echo 'userid:newpasswd' | chpasswd
或者,您可以在单独的行中列出每个帐户的userid:passwd文件。
就是这样。
echo -e -n "newpasswd\nnewpasswd" | passwd user
$> echo -e -n "oldpasswd\nnewpasswd\nnewpasswd" | passwd
或者为了让事情变得更简洁,用你的密码写一个文件
oldpassword
newpassword
newpassword
并使用以下命令:$> passwd < file
管道和重定向运算符将标准输入替换为重定向文件的内容,或者管道命令的输出。