リモートクライアントがパスなしでsshでログインできるかどうかを確認する次のコマンドがあります
ssh -o PasswordAuthentication=no \
$REMOTE_HOST_USER@$REMOTE_HOST_IP 1>/dev/null 2>/dev/null
コマンドが実行さpermission=no
れ、残りのコードで権限を設定している場合。ちなみに「許可拒否メッセージは/dev/nullに送信されます」。しかし、2回目にコマンドを実行すると、今度はpermission=yes
マシンにログインする必要がありますが、エラーや出力がないと思うため、ハングします。コードで許可を得たときのように試したからです。
ssh -o PasswordAuthentication=no $REMOTE_HOST_USER@$REMOTE_HOST_IP
今回は動作します。
それで、最初にエラーメッセージを送信し、残りのメッセージを送信しないようにするにはどうすればよいですか
編集:簡単に説明できるように、私の質問は、スクリプトを初めて実行したときにエラーを発生させる可能性のあるコマンドがスクリプトにあると言うので、エラーと出力を見たくないので、次のように実行します
command 1>/dev/null 2>/dev/null(it is in my script)
スクリプトを2回目に実行すると、コマンドはエラーを出さず、いくつかの操作を行ったためエラーは発生しませんが、2回目に実行すると/ dev/nullが原因でハングします(そう思います)。/dev/null なしで実行すると正常に動作するため