我可以使用ssh在远程机器上运行shell脚本。例如:
ssh -l foo 192.168.0.1 "`cat my_script.sh`"
现在我想运行python脚本而不发送.py文件。有什么办法吗?
答案 0 :(得分:10)
这会将my_script.py的内容放到您的计算机上,并在远程计算机上执行并传递给python。
ssh -l foo 192.168.0.1 "echo '`cat my_script.py`' | python"
如果你想添加命令行参数,它应该像在python命令之后那样简单地添加它们:
ssh -l foo 192.168.0.1 "echo '`cat my_script.py`' | python -testSwitch -arg 0"
确保命令行参数位于要发送到远程主机的命令的双引号内。