美文网首页linux Linux学习之路我用 Linux
shell输入内容时不显示内容

shell输入内容时不显示内容

作者: bboysoul | 来源:发表于2019-03-25 19:28 被阅读8次

    简介

    大家都知道当我们ssh登录linux服务器的时候输入密码密码是不显示在屏幕上的,同样在我们写shell脚本的时候在获取用户密码的时候,有时候也希望不显示密码,这个是怎么做的呢

    实例脚本

    #!/bin/bash
    echo "请输入密码:"
    stty -echo
    read password
    echo "密码输入完毕"
    echo "你的密码是" $password
    stty echo
    

    执行效果

    [root@localhost home]# ./test.sh
    请输入密码:
    密码输入完毕
    你的密码是 123
    

    解释

    大家可以看到其实脚本中就是stty -echostty 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.bboysoul.com
    Have Fun

    相关文章

      网友评论

        本文标题:shell输入内容时不显示内容

        本文链接:https://www.haomeiwen.com/subject/hjsryqtx.html