我正在编写一个Bourne shell脚本,并且输入密码如下:
echo -n 'Password: '
read password
Run Code Online (Sandbox Code Playgroud)
显然,我不希望密码被回显到终端,所以我想在读取期间关闭回声.我知道有办法解决这个问题stty,但是当我阅读联机帮助页时,我会问社区的好处.;)
San*_*nda 42
stty_orig=`stty -g`
stty -echo
echo 'hidden section'
stty $stty_orig
Run Code Online (Sandbox Code Playgroud)
Rum*_*kin 13
read -s password 适用于我的linux机箱.
您可以使用read 命令的“-s”选项来隐藏用户输入。
echo -n "Password:"
read -s password
if [ $password != "..." ]
then
exit 1; # exit as password mismatched #
fi
Run Code Online (Sandbox Code Playgroud)
如果您想从终端隐藏以进行打印,您也可以使用“stty -echo” 。并使用“stty echo”恢复终端设置
但我认为从用户“read -s password”获取密码输入已经足够了。