shell輸入內容時不顯示內容
阿新 • • 發佈:2019-03-27
簡介
大家都知道當我們ssh登入linux伺服器的時候輸入密碼密碼是不顯示在螢幕上的,同樣在我們寫shell指令碼的時候在獲取使用者密碼的時候,有時候也希望不顯示密碼,這個是怎麼做的呢
例項指令碼
#!/bin/bash echo "請輸入密碼:" stty -echo read password echo "密碼輸入完畢" echo "你的密碼是" $password stty echo
執行效果
[root[@localhost](https://my.oschina.net/u/570656) home]# ./test.sh
請輸入密碼:
密碼輸入完畢
你的密碼是 123
解釋
大家可以看到其實指令碼中就是stty -echo
和stty echo
發揮了作用
解釋下stty這個命令
這個命令是用來控制命令列相關設定的,用這個命令你可以做到
- 禁止輸出大寫: stty iuclc
- 可以輸出大寫: stty -iuclc
- 禁止輸出小寫: stty olcuc
- 可以輸出小寫: stty -olcuc
等等
詳細可以看
https://wangchujiang.com/linux-command/c/stty.html
還有一種方法
如果你是bash的話read命令加上-s引數也可以實現同樣的效果,不信那你可以拿下面的指令碼試試
#!/bin/bash
echo "請輸入密碼:"
read -s password
echo "你的密碼是" $password
歡迎關注Bboysoul的部落格www.bboy