Cómo verificar si existe un programa en Linux
- 1143
- 249
- Mateo Pantoja
Un script de shell es una herramienta poderosa para automatizar tareas en sistemas basados en UNIX. Un requisito común al escribir scripts de shell es verificar si existe un programa o comando en particular en el sistema. Este artículo lo guiará a través de diferentes métodos para realizar esta verificación, lo que le permite hacer que su script sea más robusto y confiable.
Tabla de contenido:
- Usando el comando -v
- Utilizando el comando de tipo
- Confiado en el comando que
- Empleando el comando hash
- Consejos para las mejores prácticas
1. Utilizando el comando -v
El 'Comando -v' es un método compatible con POSIX para verificar la existencia de un programa. Es un comando de shell incorporado que devuelve la ruta de un comando si existe en el sistema. Aquí hay un ejemplo de cómo usarlo:
if comando -v programa_name> /dev /null 2> & 1; Entonces echo "programa existe el programa" más eco "no existe" FI12345 | if comando -v programa_name> /dev /null 2> & 1; Entonces echo "programa existe el programa" más eco "no existe" FI |
Reemplazar "Program_name" Con el programa desea verificar.
2. Utilizando el tipo
dominio
El tipo El comando es otro comando de shell incorporado que se puede usar para verificar la existencia de un programa. Es similar al comando -v pero también proporciona información sobre el tipo de comando (alias, función o archivo). Aquí le mostramos cómo usarlo:
si escriba program_name> /dev /null 2> & 1; Entonces echo "programa existe el programa" más eco "no existe" FI12345 | si escriba program_name> /dev /null 2> & 1; Entonces echo "programa existe el programa" más eco "no existe" FI |
Reemplazar "Program_name" Con el programa desea verificar.
3. Confiado en el cual
dominio
El cual El comando es una utilidad externa que busca un comando dado en los directorios especificados por el CAMINO Variable ambiental. Aunque no cumple con POSIX, está comúnmente disponible en sistemas basados en UNIX. Aquí le mostramos cómo usarlo:
if que programa_name> /dev /null 2> & 1; Entonces echo "programa existe el programa" más eco "no existe" FI12345 | if que programa_name> /dev /null 2> & 1; Entonces echo "programa existe el programa" más eco "no existe" FI |
Reemplazar "Program_name" Con el programa desea verificar.
4. Empleando el picadillo
dominio
El picadillo El comando es un comando de shell incorporado que mantiene una tabla hash de comandos ejecutados recientemente, acelerando la búsqueda de comandos. Puede usarlo para verificar la existencia de un programa de la siguiente manera:
if hash programa_name 2> /dev /null; Entonces echo "programa existe el programa" más eco "no existe" FI12345 | if hash programa_name 2> /dev /null; Entonces echo "programa existe el programa" más eco "no existe" FI |
Reemplazar "Program_name" Con el programa desea verificar.
Consejos para las mejores prácticas
- Prefiera siempre comandos de shell incorporados como
comando -v
, escriba o hash sobre servicios públicos externos comocual
Para una mejor compatibilidad y rendimiento. - La redirección de la salida a /dev /null (usando '> /dev /null 2> & 1') es esencial para evitar que la salida innecesaria se muestre o interfiere con su script.
- Si necesita verificar si hay múltiples programas, use un bucle y una matriz para que su script sea más conciso y mantenible.
Conclusión
En este artículo, hemos discutido cuatro métodos diferentes para verificar si existe un programa en un script de shell. Mientras comando -v
es el método más recomendado y ampliamente compatible, tipo, hash, y qué comandos también se pueden utilizar según sus requisitos y entorno del sistema. Al incorporar estas verificaciones en sus scripts de shell, puede asegurarse de que sus scripts sean más confiables y adaptables a varios entornos.
- « Cómo elegir el mejor shebang (#!) para tus scripts de shell
- Clientes SSH fáciles de usar para Windows con funcionalidad avanzada »