Cómo saber la ruta de un fichero ejecutable con which

Para saber la ruta en la que se encuentra un fichero ejecutable, podemos hacerlo con el comando which:

$ which ls
/usr/bin/ls

El comando which también nos ayuda a saber si tenemos instalado un comando o no. Simplemente tenemos que ejecutarlo y comprobar si $? devuelve 0 o no.

Si devuelve 0, el comando está instalado. Si devuelve un valor distinto a 0 significa que el comando no está instalado.

#!/bin/bash

com="ls"
which $com 2>&1 > /dev/null
if [ $? -eq 0 ]
then
    echo "El comando $com se encuentra instalado en $(which $com)."
else 
    echo "El comando $com no se encuentra instalado."
fi

Así nos ahorraremos problemas a la hora de escribir scripts que puedan automatizar procesos en distintas máquinas. Sabiendo si no tiene instalado un comando, podemos ejecutar otro o indicar que es necesaria su instalación.

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.