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 回答