Como verificar se existe um programa no Linux

Como verificar se existe um programa no Linux

Um script de shell é uma ferramenta poderosa para automatizar tarefas em sistemas baseados em UNIX. Um requisito comum ao escrever scripts de shell está verificando se um programa ou comando específico existir no sistema. Este artigo o guiará através de diferentes métodos para executar esta verificação, permitindo que você torne seu script mais robusto e confiável.

Índice:

  1. Usando o comando -v
  2. Utilizando o comando de tipo
  3. Confiando no qual comando
  4. Empregando o comando hash
  5. Dicas para as melhores práticas

1. Usando o comando -v

O 'Command -v' é um método compatível com Posix para verificar a existência de um programa. É um comando Shell embutido que retorna o caminho de um comando se existir no sistema. Aqui está um exemplo de como usá -lo:

se command -v program_name> /dev /null 2> & 1; Então o programa de eco "existe" else "eco" não existe "fi
12345se command -v program_name> /dev /null 2> & 1; Então o programa de eco "existe" else "eco" não existe "fi

Substituir "nome do programa" Com o programa que você deseja verificar.

2. Utilizando o tipo comando

O tipo O comando é outro comando Shell embutido que pode ser usado para verificar a existência de um programa. É semelhante ao comando -v, mas também fornece informações sobre o tipo de comando (alias, função ou arquivo). Veja como usá -lo:

se digite program_name> /dev /null 2> & 1; Então o programa de eco "existe" else "eco" não existe "fi
12345se digite program_name> /dev /null 2> & 1; Então o programa de eco "existe" else "eco" não existe "fi

Substituir "nome do programa" Com o programa que você deseja verificar.

3. Confiando no qual comando

O qual O comando é um utilitário externo que procura um determinado comando nos diretórios especificados pelo CAMINHO variável de ambiente. Embora não seja compatível com Posix, geralmente está disponível em sistemas baseados em UNIX. Veja como usá -lo:

se qual programa_name> /dev /null 2> & 1; Então o programa de eco "existe" else "eco" não existe "fi
12345se qual programa_name> /dev /null 2> & 1; Então o programa de eco "existe" else "eco" não existe "fi

Substituir "nome do programa" Com o programa que você deseja verificar.

4. Empregando o cerquilha comando

O cerquilha O comando é um comando Shell embutido que mantém uma tabela de hash de comandos executados recentemente, acelerando a busca por comandos. Você pode usá -lo para verificar a existência de um programa da seguinte maneira:

se hash program_name 2> /dev /null; Então o programa de eco "existe" else "eco" não existe "fi
12345se hash program_name 2> /dev /null; Então o programa de eco "existe" else "eco" não existe "fi

Substituir "nome do programa" Com o programa que você deseja verificar.

Dicas para as melhores práticas

  • Sempre prefira comandos de shell embutidos como comando -v, digite, ou hash em utilitários externos como qual Para melhor compatibilidade e desempenho.
  • Redirecionar a saída para /dev /null (usando '> /dev /null 2> & 1') é essencial para impedir que a saída desnecessária seja exibida ou interferindo no seu script.
  • Se você precisar verificar se há vários programas, use um loop e uma matriz para tornar seu script mais conciso e sustentável.

Conclusão

Neste artigo, discutimos quatro métodos diferentes para verificar se existe um programa em um script de shell. Enquanto comando -v é o método, tipo, hash, hash mais recomendado e amplamente compatível e quais comandos também podem ser usados, dependendo dos seus requisitos e ambiente do sistema. Ao incorporar essas verificações em seus scripts de shell, você pode garantir que seus scripts sejam mais confiáveis ​​e adaptáveis ​​a vários ambientes.