Linux 在SSH服务器上运行本地脚本

Linux 在SSH服务器上运行本地脚本,linux,bash,ssh,Linux,Bash,Ssh,我正在使用登录服务器。登录后,我想执行一个本地脚本,用于在远程计算机上运行某些程序(因此需要登录才能访问它) 在本地,我可以键入/script.py以运行脚本,但是如果我在连接到无法工作的远程服务器时执行此操作。这是因为终端现在位于远程机器上的目录中,而不再位于本地机器上 那么,如何在登录时对远程计算机执行本地脚本而不首先复制它呢?您可以使用管道轻松地完成此操作: 我要测试的示例程序:(py.py) 导入套接字 打印socket.gethostname() 远程运行: ssh remoteser

我正在使用登录服务器。登录后,我想执行一个本地脚本,用于在远程计算机上运行某些程序(因此需要登录才能访问它)

在本地,我可以键入
/script.py
以运行脚本,但是如果我在连接到无法工作的远程服务器时执行此操作。这是因为终端现在位于远程机器上的目录中,而不再位于本地机器上


那么,如何在登录时对远程计算机执行本地脚本而不首先复制它呢?

您可以使用管道轻松地完成此操作:
我要测试的示例程序:(py.py)

导入套接字
打印socket.gethostname()

远程运行:

ssh remoteserver "python" < py.py
如果用户的路径不包含python,则必须使用完整路径

ssh remoteserver "/usr/bin/python" < py.py
ssh-remoteserver”/usr/bin/python“

在我的环境中。

这个解决方案是针对python的还是也可以在其他语言中使用(当然是在语法上)?任何可以处理输入重定向(管道)的程序都可以通过这个方法运行-我以前用过perl、php、bash shell这种方法。这真是一个很棒的技巧。我之前不知道这件事。我的问题也很蹩脚。我在询问之前没有仔细考虑,因为我很欣赏你的解决方案
ssh remoteserver "/usr/bin/python" < py.py