代码之家  ›  专栏  ›  技术社区  ›  zlenyk

在远程服务器上运行perl脚本

  •  1
  • zlenyk  · 技术社区  · 9 年前

    是否可以从Windows在远程服务器上运行perl脚本?在远程服务器上有一项工作,每当我在Windows上做一些事情时,我都想完成。

    2 回复  |  直到 9 年前
        1
  •  1
  •   Quentin    9 年前

    你必须有 某物 侦听运行脚本的指令,然后必须发送该指令。

    你可以采取很多方法,包括:

    • 运行SSH服务器,然后从windows计算机上的SSH客户端连接到它
    • 运行HTTP服务器,通过FastCGI运行脚本,然后从 curl 或Windows计算机上的浏览器
    • 编写自定义协议,侦听套接字,然后编写在Windows计算机上运行的自定义客户端
        2
  •  1
  •   Joseph Myers    9 年前

    绝对地

    您可以使用 plink 从Windows在服务器上运行命令,假设服务器正在运行 sshd .

    plink user@a.domain.ext echo hi
    

    这将在标准输出中打印“hi”。

    代替 /path/to/perl/script 对于 echo 以上内容和替代内容 hi 使用脚本所需的任何命令行参数。

    丁克牌手表 此处提供: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

    多次这样做的一个警告性个人注意事项是,运行perl脚本的环境远不如通过完整SSH会话登录并以交互方式运行命令时的环境完整。您通常期望的许多环境变量都未设置。

    例如,在上面的命令中使用“set|wc-l”只定义了39个环境变量,但在交互式SSH会话中,定义了57个环境变量。您必须确保perl脚本不依赖于尚未设置的环境变量。例如,您可能需要为它使用的任何模块使用完整路径,或者使用 -I 谢邦线的旗帜,因为 @INC 可能不是你期望的那样。