Como saber se o comando está disponível na minha distribuição linux

1

Estamos enviando alguns drivers para alguns linux para nossos produtos usb. E em nosso código de driver para torná-lo independente de distribuição, temos que obter dinamicamente o nome da distribuição e descobrir se há bibliotecas disponíveis em cada distribuição de destino em tempo de execução.

Para fazer isso, precisamos executar alguns comandos como ldconfig, pkg-config etc etc. E esta questão está relacionada com este . Então, de acordo com a resposta, algumas distribuições podem ter comandos e é sempre bom descobrir se esses comandos estão disponíveis na distribuição antes de executá-los.

Então a questão é descobrir se esses comandos estão disponíveis ou não. Estou pensando em verificar o arquivo executável para sua existência. por exemplo,

if [ -f /usr/bin/pkg-config ] ; then

Alguma outra maneira melhor de fazer isso?

    
por sandun dhammika 12.09.2016 / 08:11

1 resposta

5

Eu faria assim:

if type pkg-config >/dev/null 2>/dev/null; then …

Mas, como comentei sua pergunta anterior, o pkg-config pode não estar disponível mesmo em sistemas que usam pkg-config . Por que você não deseja enviar seu driver de acordo com o padrão específico da distribuição? Ambos os pacotes Debian e RedHat têm provisões para solicitar que bibliotecas / versões específicas sejam instaladas.

Compare com o trabalho que você fez para tornar o driver do seu dispositivo a embalagem, mesmo para várias distribuições diferentes é quase nada.

    
por 12.09.2016 / 08:43