将Python脚本传输到ssh,但首先执行其他bash命令
在远程服务器上执行Python脚本的一种非常方便的方法是: 其中,将Python脚本传输到ssh,但首先执行其他bash命令,python,bash,ssh,remote-execution,Python,Bash,Ssh,Remote Execution,在远程服务器上执行Python脚本的一种非常方便的方法是: 其中,-似乎是可选的 在以这种方式运行Python脚本之前,如何执行其他bash命令? 这不起作用: cat script.py | ssh user@address.com "cd ..; python -" # WRONG! 有趣的是,这会发送一个非确定性损坏的Python脚本版本,每次运行它时都会在不同的位置出现语法错误 您可以创建一个子壳: cat script.py | ssh user@address.com "(cd .
-
似乎是可选的
在以这种方式运行Python脚本之前,如何执行其他bash命令?
这不起作用:
cat script.py | ssh user@address.com "cd ..; python -" # WRONG!
有趣的是,这会发送一个非确定性损坏的Python脚本版本,每次运行它时都会在不同的位置出现语法错误 您可以创建一个子壳:
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"
您可以创建一个子壳:
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"
您可以创建一个子壳:
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"
您可以创建一个子壳:
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"
谢谢,我不确定如何捕获stdin。谢谢,我不确定如何捕获stdin。谢谢,我不确定如何捕获stdin。谢谢,我不确定如何捕获stdin。提示:如果您使用此方法,使用
python-u
进行无缓冲输出,以便打印后立即显示stdout。损坏是否总是发生在前几行?@YatharthROCK我不记得了,抱歉。提示:如果使用此方法,使用python-u
进行无缓冲输出,以便打印后立即显示stdout。损坏是否总是发生在前几行?@YatharthROCK我不记得了,抱歉。提示:如果使用此方法,使用python-u
进行无缓冲输出,以便打印后立即显示stdout。损坏是否总是发生在前几行?@YatharthROCK我不记得了,抱歉。提示:如果使用此方法,使用python-u
进行无缓冲输出,以便打印后立即显示标准输出。损坏是否总是发生在前几行?@YatharthROCK我不记得了,对不起。