私はリモートでコマンドを実行するためにsshを使用するbashスクリプトを持っています。 私は、背景やないでコマンドを起動するかどうかによって、動作中しかしかなりかなりの違いを発見:正しくsshがリモートでコマンドを実行し、PATHがどのように決定されますか?
ssh host cmd1 && cmd2 && cmd3
対
ssh host "cmd1 && cmd2 && cmd3" &
第2のケースで、いくつかのコマンドが実行されていないため、彼らドン$ PATHには表示されません。これらの2つの状況(envをコマンドとして渡すとかなりの違いに気づいた)では環境が異なるようです。
どのように説明するのですか?
私はPATH変数をオーバーライドすることができますが、2番目の例を最初に "&"のように振る舞うようにするには、もっと上手にそれを行う方法がありますか? sshd
のコンパイル中