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.