我想使用telnet或ssh在远程计算机上运行Perl脚本。脚本在我的本地主机上。我们可以这样做。有人可以帮我这个吗?
答案 0 :(得分:4)
如果由于某种原因不希望将脚本复制到远程主机然后运行它,则可以通过stdin将脚本发送到Perl解释器。如果perl在命令行上没有获得脚本的脚本名称,它会尝试在stdin上读取脚本。所以这会奏效:
ssh user@remote perl < my_script.pl
当然,这要求所有必需的模块都已安装在远程主机上。如果脚本只有纯perl依赖项,则可以使用App::FatPacker使脚本(更多)自包含,从而解决此限制。
但如果这是一项重复出现的任务,我建议将脚本正确部署到远程主机上。
答案 1 :(得分:1)
scp your script to remote machine.
ssh user@remote 'perl /path/to/remote/script.pl'
答案 2 :(得分:0)
在SSH上使用HERE文档也可能会成为你所追求的技巧。您可以至少运行一个BASH脚本,而无需先将其单独复制到远程。我没有验证除BASH以外的任何其他内容,但也没有理由怀疑。请参阅: