linux命令行隐藏input输入

脚本如下:

function hidden_input
{
    typeset function_name="hidden_input"
    typeset prompt="$1"
    typeset input=""
    typeset character=""
    echo ""
    echo "$prompt:"

    STTY_RESTORE=$(stty -g)
    stty -echo cbreak
    while true
    do
        character=$(dd if=/dev/tty bs=1 count=1 2> /dev/null)
        case $character in
        $(printf "\n"))
                 printf "\n"
            break
            ;;
        $(printf "\b"))
            if [ -n "$input" ]; then
                printf "\b \b"
                input=$(echo "$input" | sed 's/.$//g')
            fi
            ;;
            *)
        input=$input$character
        printf '*'
        ;;esac
    done
    stty $STTY_RESTORE

    RETURN[0]="${input}"
}

hidden_input "Input the password"
password="${RETURN[0]}"

echo $password

Input the password:
*******      #输入密码:1234567


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值