Javaアプリを起動し、Javaアプリにパスワードを安全に提供するためのスクリプトを作成しています。パスワードは画面にエコーされないようにし、実行中のプロセスを一覧表示している人には表示されないようにする必要があります。次のスクリプトはこれに適しています。
echo -n "enter password: "
read -r -s password
java -classpath $CLASSPATH com.myclientscompany.Manage<<EOF
$password
EOF
...Javaプログラムがstdinから1行としてパスワードを読み取る場合。
私が直面している問題は、このようにパスワードを取得した後、Javaアプリがコンソールを介してユーザーからのさらなる入力をインタラクティブに受け入れることを望んでいることです。現在のところ、Java内でstdinから読み取ろうとすると、すぐに。が返されますnull
。
このスクリプトの最後で、stdinをコンソール入力の取得に戻す方法はありますか?