简介
大家都知道当我们ssh登录linux服务器的时候输入密码密码是不显示在屏幕上的,同样在我们写shell脚本的时候在获取用户密码的时候,有时候也希望不显示密码,这个是怎么做的呢
实例脚本
#!/bin/bash
echo "请输入密码:"
stty -echo
read password
echo "密码输入完毕"
echo "你的密码是" $password
stty echo
执行效果
[root@localhost 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
欢迎关注我的博客www.bboy.app
Have Fun