通過把管道符和passwd命令的--stdin參數相結合,我們可以用一條命令來完成密碼重置操作:
[root@root~]# echo "passwd" | passwd --stdin root
Changing password for user root.
passwd: all authentication tokens updated successfully.
注意事項!!!
使用echo 修改密碼盡量不要使用感嘆號!
因為感嘆號!在shell中有特別的含義 叫做事件提示符。
如果特別一定需要使用感嘆號作為密碼的一部分,就把雙引號換成單引號,或者是用反斜杠\實現轉義功能
反斜杠(\):使反斜杠后面的一個變量變為單純的字符串。
單引號(''):轉義其中所有的變量為單純的字符串
示例
使用\轉義:[root@root~]# echo “\!23qweasdf” | passwd --stdin root
使用單引號:[root@root~]# echo '!23qweasdf' | passwd --stdin root
