2

我想使用 telnet 或 ssh 在远程机器上运行 Perl 脚本。该脚本在我的本地主机上。如何做到这一点。谁能帮我解决这个问题?

4

3 回答 3

4

如果您出于某种原因不想将脚本复制到远程主机然后运行它,您可以通过标准输入将脚本发送到 Perl 解释器。如果 perl 在命令行上没有得到脚本的脚本名称,它会尝试在标准输入上读取脚本。所以这会起作用:

ssh user@remote perl < my_script.pl

当然,这要求远程主机上已经安装了所有必要的模块。如果您的脚本只有纯 perl 依赖项,您可以通过使用App::FatPacker使您的脚本(更多)自包含来解决此限制。

但如果这是一项重复性任务,我建议将脚本正确部署到您的远程主机。

于 2012-09-27T08:27:07.200 回答
1
scp your script to remote machine.
ssh user@remote 'perl /path/to/remote/script.pl'
于 2012-09-27T08:08:53.017 回答
0

跨 SSH 使用 HERE 文档也可能达到您所追求的目的。您至少可以运行一个 BASH 脚本,而无需先将其单独复制到远程。除了 BASH,我还没有验证过其他任何东西,但也没有理由怀疑。请参见:

ssh + here 文档 + 交互模式

于 2014-11-13T08:21:28.917 回答