エコーなしでシェルスクリプトからパスワードを取得する方法 質問する

エコーなしでシェルスクリプトからパスワードを取得する方法 質問する

パスワードで保護されたシステムへのアクセスを必要とするプロセスを自動化するスクリプトがあります。システムには、ユーザー パスワードを引数として受け入れるコマンド ライン プログラムを介してアクセスします。

ユーザーにパスワードの入力を促し、それをシェル変数に割り当て、その変数を使用してアクセス プログラムのコマンド ラインを構築したいと思います (もちろん、処理するストリーム出力が生成されます)。

私は 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可能にするサポート:echoread

read -s -p "Password: " password

おすすめ記事