Cómo verificar si existe un programa en Linux

23 mar 2023 2 min di lettura
Cómo verificar si existe un programa en Linux
Indice dei contenuti

Introducción

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 la existencia de un programa o comando en particular en el sistema. Este artículo lo guiará a través de varios métodos para realizar esta verificación, lo que le permitirá hacer que su secuencia de comandos sea más robusta y confiable.

Resumen:

  • Usando el comando -v
  • Usando el tipo de comando
  • En base a qué comando
  • Usando el comando hash
  • Sugerencias de mejores prácticas

Usa 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 a un comando si existe en el sistema. Aquí hay un ejemplo de cómo usarlo:

if command -v program_name > /dev/null 2>&1; then
 echo "Program exists"
 else
 echo "Program does not exist"
 fi

Reemplace "program_name" con el programa que desea verificar.

Utilice el comando de tipo

El comando de tipo 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). He aquí cómo usarlo:

if type program_name > /dev/null 2>&1; then
 echo "Program exists"
 else
 echo "Program does not exist"
 fi

Reemplace "program_name" con el programa que desea verificar.

Confíe en el comando which

El comando which es una utilidad externa que busca un comando dado en los directorios especificados por la variable de entorno PATH. Si bien no es compatible con POSIX, comúnmente está disponible en sistemas basados en Unix. He aquí cómo usarlo:

if which program_name > /dev/null 2>&1; then
 echo "Program exists"
 else
 echo "Program does not exist"
 fi

Reemplace "program_name" con el programa que desea verificar.

Emplear el comando hash

El comando hash es un comando de shell incorporado que mantiene una tabla hash de los comandos ejecutados recientemente, lo que acelera la búsqueda de comandos. Puede usarlo para verificar la existencia de un programa de la siguiente manera:

if hash program_name 2> /dev/null; then
 echo "Program exists"
 else
 echo "Program does not exist"
 fi

Reemplace "program_name" con el programa que desea verificar.

Sugerencias de mejores prácticas

  • Siempre prefiera los comandos de shell incorporados como command -v, type o hash sobre which utilidades externas para una mejor compatibilidad y rendimiento.
  • Redirigir la salida a /dev/null (usando '> /dev/null 2>&1') es esencial para evitar que aparezca una salida innecesaria o que interfiera con el script.
  • Si necesita controlar varios programas, use un bucle y una matriz para que su secuencia de comandos sea más concisa y mantenible.

Conclusión

En este artículo, hemos discutido cuatro métodos diferentes para verificar si un programa existe en un script de shell. Si bien command -v es el método, el tipo, el hash y los comandos más recomendados y ampliamente compatibles, también se pueden usar según los requisitos y el entorno de su sistema. Al incorporar estas verificaciones en sus scripts de shell, puede asegurarse de que sus scripts sean más confiables y se adapten a varios entornos.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.