プログラムの1つがmysql
私の注目を集めました。フラグを使用して、対話的にパスワードを要求するように指示できます-p
。この場合、期待どおりにプロンプトが端末に表示され、入力した内容がパスワードとして受け入れられます。しかし、驚くべきことに、3つすべてをリダイレクトしても、これが起こりますstd{in,out,err}
。
$ mysql -p </dev/null >/dev/null 2>/dev/null
Enter password:
また、パスワードを正しく読みます。ファイルにリダイレクトすると、stderr
ログインに失敗したかどうかを確認できます。
どの端末でパスワードを要求するのか、どのようにプロセスがわかりますか?親プロセスに接続されている端末を確認していますか?
ベストアンサー1
Unixプロセスはリダイレクトをバイパスすることによって/ dev / ttyからデータを読み取ることができます。