私はこれがそれを要約すると思います:
# /usr/bin/nohup echo hello
/usr/bin/nohup: ignoring input and appending output to `nohup.out'
# ssh localhost /usr/bin/nohup echo hello
hello
どうしたの?
ベストアンサー1
確かに、
最新バージョンのSSHは、TTYではなくSTDIO用のパイプの使用を開始します。
だから
Bashスクリプトは、
ssh
tty以外のコマンドがパイプされているかどうかはわかりません。
ターミナルを検出/接続するときにのみ操作を実行しnohup
(出力がパイプに入るときは何もしません)、開始方法がパイプに見えるため、表示される動作が得られます。stdout
stderr
ssh
〜のようにムル 指摘ssh
、パラメータを使用して強制的に割り当てることができます。tty
-t
$ ssh -t localhost "/usr/bin/nohup /bin/echo foo"
/usr/bin/nohup: ignoring input and appending output to ‘nohup.out’