パスワードで保護されたシステムへのアクセスを必要とするプロセスを自動化するスクリプトがあります。システムには、ユーザー パスワードを引数として受け入れるコマンド ライン プログラムを介してアクセスします。
ユーザーにパスワードの入力を促し、それをシェル変数に割り当て、その変数を使用してアクセス プログラムのコマンド ラインを構築したいと思います (もちろん、処理するストリーム出力が生成されます)。
私は Bourne/Bash のかなり有能なシェル プログラマーですが、ユーザー入力を端末にエコーせずに (または '*' 文字を使用してエコーせずに) 受け入れる方法がわかりません。
誰かこれについて助けてくれませんか?
ベストアンサー1
別の方法は次のとおりです。
#!/bin/bash
# Read Password
echo -n Password:
read -s password
echo
# Run Command
echo $password
はread -s
エコーをオフにします。echo
最後の行の を実行したいコマンドに置き換えるだけです。
一部のシェル(例:Bash)read
とコマンドを組み合わせることを-p prompt-string
可能にするサポート:echo
read
read -s -p "Password: " password