エコーバックのないパスワードを取得するコマンドラインユーティリティ


14

Bashビルトイン読み取りコマンドはサポートされていないようです。エコーを表示しないでユーザーにパスワードを入力させる必要があります。どのツールを使用できますか?


4
help read|grep echo:「-s端末からの入力をエコーし​​ません」
donothingsuccessfully

1
@donothingsuccessfullyこの-s拡張read標準ではありません。Unix / Linuxでは使用できない場合があります。
トーター

回答:


23
#!/bin/bash
stty -echo
IFS= read -p 'Enter password: ' -r password
stty echo
printf '\nPassword entered: %s\n' "$password"
  • stty -echo あなたが話しているディスプレイであるターミナルエコーをオフにします;
  • IFS= パスワード内の空白を保持するために必要です。
  • read -r バックスラッシュの解釈をオフにします。

ではbashを使用することもできますがread -s、この機能はシェル間では標準ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.