2011-08-25 12 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

相關問題