#!/bin/bash
ssh -t $SSH "
some
commands
"
「xx.xxx.xx.xxxへの接続が閉じられました」というメッセージはどこから送信されますか? result = ssh ...
でも止められない
それはSSHから来ています。これは、SSHが接続に pseudo-terminal を割り当てるように強制する-t
スイッチを指定したためです。従来、SSHはそのメッセージを表示して、リモートホスト上のシェルと対話しなくなったことを明確にします。これは通常、SSHに疑似端末が割り当てられている場合にのみ問題になります。
sSHコマンドラインに-o LogLevel=QUIET
を追加すると、そのメッセージは消えます。
ssh -o LogLevel=QUIET -t $SSH "
some
commands
"
~/.ssh/config
ファイルにLogLevel QUIET
という行として追加することもできます。
フランが述べたように、これは-tスイッチが原因で発生しています。次を追加してメッセージを非表示にできます。
2>/dev/null
コードは次のようになります。
#!/ bin/bash ssh -t $ SSH " some commands " 2>/dev /ヌル
これにより、STDERRが/ dev/nullにリダイレクトされます。発生する可能性のあるすべてのエラーメッセージも/ dev/nullにリダイレクトされるため、表示されないことに注意してください。