0

リモート サーバーで Python スクリプトを実行する非常に便利な方法は、それを ssh にパイプすることです。

cat script.py | ssh user@address.com python -

-オプションのようです。

この方法で Python スクリプトを実行する前に、他の bash コマンドを実行するにはどうすればよいですか?

これは動作しません:

cat script.py | ssh user@address.com "cd ..; python -" # WRONG!

興味深いことに、これは非決定論的に破損したバージョンの Python スクリプトを送信し、実行するたびに別の場所で構文エラーが発生します!

4

1 に答える 1

3

サブシェルを作成できます:

cat script.py | ssh user@address.com "(cd ..; python -)"

または一時ファイル:

cat script.py | ssh user@address.com "tee >/tmp/tmp.py; cd ..; python /tmp/tmp.py; rm /tmp/tmp.py"
于 2015-01-02T19:13:47.113 に答える