Hace unos días estaba satisfecho con mi respuesta. También sabía que el whichcomando no se usa para probar si existe un comando. Ahora no estoy tan satisfecho con mi respuesta, y me refiero a esta gran respuesta .
Con un simple whichcomando:
which foo.sh
O un typecomando:
type foo.sh
Y puede influir en esto con el orden de las rutas en su $PATHo a través de una ruta absoluta cuando se inicia el script, EG
/home/user/scripts/foo.sh
Ejemplo
Si PATH se define a continuación
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Y comienzas un script o algo más que está dentro /usr/local/biny dentro /usr/bin, el script /usr/local/bincomo una prioridad más alta.
bashyzshtambién está eltypeincorporado; en cambiozshwhich, de manera diferente abash, es un incorporado (y no/usr/bin/which)