我使用Linux
使用ssh
登录服务器。一旦我登录,我想执行一个本地Python
脚本,该脚本使用netcat
在远程计算机上运行某些程序(因此需要登录才能访问它)
本地我可以在bash
上键入./script.py
来运行脚本但是如果我在连接到不起作用的远程服务器时执行此操作。这是因为终端现在位于远程计算机上的目录中,不再位于本地目录中。
那么如何在登录时对远程计算机执行本地脚本而不先复制它?
答案 0 :(得分:2)
您可以使用管道轻松完成:
我要测试的示例程序:(py.py)
import socket
print socket.gethostname()
远程运行:
ssh remoteserver "python" < py.py
输出是:
remoteserver name
如果您的用户路径不包含python,则必须使用完整路径
ssh remoteserver "/usr/bin/python" < py.py
在我的环境中。