GNU/Linux >> Linux の 問題 >  >> Linux

Linuxスクリプトで端末のユーザー入力を隠す

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

Linux
  1. Linuxユーザーとは何ですか?

  2. vlock –Linuxでユーザー仮想コンソールまたはターミナルをロックするスマートな方法

  3. BashスクリプトにUnix/Linuxユーザーを追加する方法は?

  1. Linuxでユーザーがログインする前にコマンドを実行する方法は?

  2. 入力が「はい」の場合、スクリプトを再実行しますか?

  3. Linux シェル スクリプトで Yes/No/Cancel の入力を求めるにはどうすればよいですか?

  1. Linuxの特定のディレクトリのユーザーに読み取り/書き込みアクセスを割り当てる

  2. Linuxsuコマンド

  3. Linux 端末からメールを 1 行で送信する