Você pode verificar o conteúdo do arquivo /etc/lsb-release
.
Estou trabalhando em um script perl que deve gravar o arquivo de configuração. Eu preciso saber se o script está sendo executado no Ubuntu para definir alguns valores específicos do Ubuntu (basicamente, desative a barra unificada). O script não pode exigir pacotes Perl que não estejam presentes no sistema do usuário.
Como posso verificar se o sistema é Ubuntu ou alguma outra distribuição Linux?
Você pode verificar o conteúdo do arquivo /etc/lsb-release
.
Resposta alternativa: link
use Linux::Distribution qw(distribution_name);
print "Do your stuff here\n" if( distribution_name eq 'ubuntu' );
Você pode verificar a saída de lsb_release
sem analisar o arquivo manualmente ou carregar um módulo externo:
#!/usr/bin/perl
# ...
my $id = 'lsb_release -si';
chomp($id);
if($id eq "Ubuntu") {
# set Ubuntu-specific values
}
# ...