将 Python 脚本通过管道传输到 ssh,但先执行其他 bash 命令
Pipe Python script to ssh, but do other bash commands first
在远程服务器上执行 Python 脚本的一种非常方便的方法是 pipe it to ssh:
cat script.py | ssh user@address.com python -
其中 -
似乎是可选的。
如何在运行 Python 脚本之前执行其他 bash 命令?
这不起作用:
cat script.py | ssh user@address.com "cd ..; python -" # WRONG!
有趣的是,这会发送一个非确定性损坏版本的 Python 脚本,每次运行它都会在不同的地方给出语法错误!
您可以创建子shell:
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"
在远程服务器上执行 Python 脚本的一种非常方便的方法是 pipe it to ssh:
cat script.py | ssh user@address.com python -
其中 -
似乎是可选的。
如何在运行 Python 脚本之前执行其他 bash 命令?
这不起作用:
cat script.py | ssh user@address.com "cd ..; python -" # WRONG!
有趣的是,这会发送一个非确定性损坏版本的 Python 脚本,每次运行它都会在不同的地方给出语法错误!
您可以创建子shell:
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"