使用 perl 检测 Ubuntu

使用 perl 检测 Ubuntu

我正在编写一个必须写入配置文件的 perl 脚本。我需要知道该脚本是否在 Ubuntu 上运行,以便设置一些特定于 Ubuntu 的值(基本上是禁用统一栏)。该脚本不能要求用户系统上可能不存在的任何 Perl 包。

我如何检查系统是 Ubuntu 还是其他 Linux 发行版?

答案1

您可以检查/etc/lsb-release文件的内容。

答案2

备选答案:https://metacpan.org/pod/Linux::Distribution

use Linux::Distribution qw(distribution_name);
print "Do your stuff here\n" if( distribution_name eq 'ubuntu' );

答案3

您可以检查输出,lsb_release而无需手动解析文件或加载外部模块:

#!/usr/bin/perl
# ...
my $id = `lsb_release -si`;
chomp($id);
if($id eq "Ubuntu") {
    # set Ubuntu-specific values
}
# ...

相关内容