您的位置:首页 > 运维架构 > Linux

linux命令行隐藏input输入

2018-03-26 10:44 1116 查看
脚本如下:
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: