read
の bash または特定の機能がなくても機能するソリューションの場合 stty
を使用できます エコーを無効にする
stty_orig=$(stty -g)
stty -echo
read password
stty $stty_orig
次のように、読み取り呼び出しに -s を指定するだけです:
$ read -s PASSWORD
$ echo $PASSWORD
更新
*
を出力して派手にしたい場合 入力する文字ごとに、次のようなことができます (andreas の read -s
を使用) ソリューション):
unset password;
while IFS= read -r -s -n1 pass; do
if [[ -z $pass ]]; then
echo
break
else
echo -n '*'
password+=$pass
fi
done
派手にならずに
echo "Please enter your username";
read username;
echo "Please enter your password";
stty -echo
read password;
stty echo