2011-08-25 15 views
-3

我必须在perl中找到在远程机器上运行的操作系统。该机器可以运行在从windows,linux到aix的任何操作系统上。 我已经看到了很少的解决方案,但不幸的是,所有需要安装第三部分工具,在这种情况下无法完成。如何在没有使用第三方工具的情况下在perl中获得远程机器操作系统版本

您可以请指导我以某种方式获得远程机器操作系统的详细信息(名称和版本),而无需安装第三方工具。

回答

1

如果您可以登录到每台远程计算机,并且该计算机上安装了perl,那么只需解析perl -V的输出即可。例如

$ perl -V 
 
Summary of my perl5 (revision 5 version 12 subversion 0) configuration: 

    Platform: 
    osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread 
    uname='Win32 strawberryperl 5.12.0.0 #1 Wed Apr 28 11:51:06 2010 i386' 
    .... 
+0

感谢回答,但我的问题仍然是相同的。因为在不知道OS的情况下连接到机器是第一个障碍。我怎样才能连接到远程机器,无需知道它的Windows或Linux ..也在perl – Tejas

+1

如果你知道某台机器是Windows机器,你将如何登录到它?如果你知道它是linux,你将如何登录它?为什么不是这个问题的答案只是(1)尝试登录到机器,就好像它是Windows,如果它不起作用去步骤2(2)尝试登录,就好像它是一台Linux机器,如果它不工作,请转到步骤3(3)尝试登录,就好像它是... – mob

2

你有一个远程机器- [R和本地机器大号。你到底在做什么?

  • 跑步机大号访问远程机器- [R上的Perl脚本。
  • 在机器上运行程序L在机器上运行Perl脚本R

如果您正在执行第二种方案,请查看Config模块。这是一个标准的Perl模块,自从Perl 5.8以来,它已经被包含在Perl的所有版本中。有数百个参数可供您使用。看看osnameosver

这是非常简单的使用方法:

use Config; #Imports $Config hash 

print "Operating system is $Config{osname}\n"; 
print "The version of the OS is $Config{osvers}\n"; 
+0

嗨大卫...感谢您的回复..我正在寻找选项1.我想运行一个perl本地机器上的脚本。哪个会把我的远程机器的操作系统取走。 – Tejas

相关问题