我正在编写一个必须写入配置文件的 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
}
# ...