Verificar si una aplicación existe en el sistema
4 comentariosExisten varios modos para verificar que una aplicación existe en nuestros sistemas Linux, comparto con ustedes algunas variantes.
Situación: queremos detener instantáneamente un script que se esté ejecutando si no se encuentra en comando foo.
type foo > /dev/null 2>&1 || { echo >&2 "foo no existe"; exit 1; }
hash foo > /dev/null 2>&1 || { echo >&2 "foo no existe"; exit 1; }
command -v foo > /dev/null 2>&1 || { echo >&2 "foo no existe"; exit 1; }
Los comandos utilizados son builtins (comandos contenidos dentro de las herramientas de Bash). Los builtins se ejecutan más rápido que los comandos externos, por esta razón no especifico which.
Referencias
Con esto se pudiera crear un alias
function matafoo { type “$1” > /dev/null 2>&1 || { echo >&2 “$1″+” no existe”; exit 1; } }
matafoo foo
¿Y cuándo se mata a foo?
Lo que yo normalmente hacia era:
dpkg -l | grep foo
Pero bueno, ese es especifico para las distros debian-like y para paquetes instalados via apt.
Claro, portabilidad, además rapidez.