Обнаружить Ubuntu с помощью Perl

Я работаю над Perl-скриптом, который должен написать файл конфигурации. Мне нужно знать, работает ли скрипт в Ubuntu для установки некоторых специфичных для Ubuntu значений (в основном, отключить единую панель). Сценарий не может требовать никаких пакетов Perl, которые могут отсутствовать в пользовательской системе.

Как я могу проверить, является ли система Ubuntu или другим дистрибутивом Linux?

1
задан 22 June 2012 в 03:32

3 ответа

Вы можете проверить содержимое файла /etc/lsb-release.

0
ответ дан 22 June 2012 в 03:32

Альтернативный ответ: https://metacpan.org/pod/Linux:: Распространение

use Linux::Distribution qw(distribution_name);
print "Do your stuff here\n" if( distribution_name eq 'ubuntu' );
0
ответ дан 22 June 2012 в 03:32

Вы можете проверить вывод lsb_release, не анализируя файл вручную или не загружая внешний модуль:

#!/usr/bin/perl
# ...
my $id = `lsb_release -si`;
chomp($id);
if($id eq "Ubuntu") {
    # set Ubuntu-specific values
}
# ...
0
ответ дан 22 June 2012 в 03:32

Другие вопросы по тегам:

Похожие вопросы: