Perl 和 CopSSH
Posted
技术标签:
【中文标题】Perl 和 CopSSH【英文标题】:Perl and CopSSH 【发布时间】:2010-11-01 19:48:31 【问题描述】:我正在尝试使用 python 脚本自动化远程机器上的进程。这台机器是一台 Windows 机器,我已经在它上面安装了 CopSSH,以便通过 SSH 进入它以运行命令。我无法让 perl 脚本从 CopSSH 终端运行。我收到命令未找到错误。有没有一种特殊的方法我必须安装 perl 才能做到这一点?或者有谁知道如何用 CopSSH 安装 perl?
【问题讨论】:
当您说“遇到麻烦”时,您指的是什么? 【参考方案1】:我怀疑 CopSSH 为您提供了与普通 GUI 登录不同的环境变量。我建议你输入“set”,看看 perl 是否在路径中,以及它可能需要的任何其他环境变量。
这里是setting up the CopSSH user environment的一些解释。可能有用。
【讨论】:
ActiveState perl 已安装并显示在 windows 路径下(我的电脑 -> 属性 -> 环境变量。)但是当我运行 set 命令时 perl 不存在。能告诉我怎么加吗? 我添加了一个指向我的答案的链接,它讨论了环境文件和 copssh 设置的其他一些细节。 我已经查看了您提到的链接。我只是不确定要添加到环境文件中的内容。可能类似于 PERL_HOME=C:\Perl\ ? 是的,但您还应该将 PATH 设置为包含 C:\Perl\。想一想,如果 copssh 登录实际上是 cygwin 环境,那么您的路径可能需要是 UNIX 风格的,即 /c/windows/system32:/c/Perl 。 Cygwin 可能允许或可能需要转义反斜杠 (C:\\Perl\\)。想不起来了。 你指的是哪个PATH,windows变量还是cygwin变量?如果您的意思是 Windows PATH,那么我已经将它添加到那个路径中。至于路径样式,我认为 cygwin 确实允许两种类型的路径。【参考方案2】:我刚刚意识到 CopSSH 基于 Cygwin,我认为这意味着必须以不同方式指定路径。例如,尝试使用
/cygdrive/c/Program\ Files/My\ Program/myprog.exe
而不是
"C:\Program Files\My Program\myprog.exe"
.
顺便说一句,以下 CopSSH 常见问题解答也可能适用:http://www.itefix.no/i2/node/31。
【讨论】:
【参考方案3】:您使用的是ActiveState 还是Strawberry Perl?您收到什么错误消息?您可能会发现How do I run programs with Strawberry Perl 的答案很有帮助。
【讨论】:
我正在使用 ActiveState perl。我收到错误消息命令未找到。 您是要直接运行 perl 脚本还是要说“perl script.pl”? perl script.pl 是我想要运行的。我似乎无法将 perl 添加到 copSSH 的路径中 尝试给出 perl 的完整路径(例如 c:/perl/perl.exe /path/to/script.pl 或 /cygdrive/c/perl/perl.exe /path/to/script .pl).以上是关于Perl 和 CopSSH的主要内容,如果未能解决你的问题,请参考以下文章
从另一个 Perl 脚本内部调用 Perl 搜索和替换命令时不起作用