sudo: Jack of all trades, master of some

Verificar si una aplicación existe en el sistema

4 comentarios

Existen 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

Comentarios desactivados
  1. BishopWolf 6 años atrás

    Con esto se pudiera crear un alias
    function matafoo { type “$1” > /dev/null 2>&1 || { echo >&2 “$1″+” no existe”; exit 1; } }
    matafoo foo

    1. @BishopWolf

      ¿Y cuándo se mata a foo?

  2. Phantom 6 años atrás

    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.

    1. @Phantom

      Claro, portabilidad, además rapidez.