如何在不使用第三方工具的情况下在 perl 中获取远程计算机操作系统版本

发布于 2024-12-01 05:20:54 字数 179 浏览 4 评论 0原文

我有一个要求,我必须在 Perl 中找到在远程计算机上运行的操作系统。 该机器可以运行在从windows、linux到aix的任何操作系统上。 我见过很少的解决方案,但不幸的是,所有解决方案都需要安装第三方工具,在这种情况下无法完成。

您能否指导我通过某种方式获取远程计算机操作系统详细信息(名称和版本),而无需安装第三方工具。

I have requirement where in I have to find OS running on remote machine in perl.
The machine can be running on any OS from windows, linux to aix.
I have seen few solutions but unfortunately all requires to install third part tool which cannot be done in this case.

Can you please guide me to some way to get the remote machine OS details (name and version) without need to install third party tool.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

始终不够爱げ你 2024-12-08 05:20:54

您有一台远程计算机R和一台本地计算机L。你到底在做什么?

  • 在访问远程计算机R 的计算机L 上运行Perl 脚本。
  • 在机器L上运行一个程序,该程序在机器R上运行Perl脚本。

如果您正在执行第二种情况,请查看 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";

You have a remote machine R and a local machine L. What exactly are you doing?

  • Running a Perl script on machine L that accesses remote machine R.
  • Running a program on machine L that runs a Perl script on machine R.

If you're doing the second scenario, take a look at the Config module. This is a standard Perl module, and has been included in all versions of Perl since at least Perl 5.8. There are hundreds of parameters that you can pull up. Take a look at osname and osver.

It's pretty simple to use:

use Config;   #Imports $Config hash

print "Operating system is $Config{osname}\n";
print "The version of the OS is $Config{osvers}\n";
清秋悲枫 2024-12-08 05:20:54

如果您可以登录到每台远程计算机并且该计算机上安装了 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'
    ....

If you can log in to each remote machine and if perl is installed on that machine, then just parse the output of perl -V. For example

$ 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'
    ....
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文