Respuestas:
which
buscará en su ruta los argumentos que proporcione, se encuentra en casi cualquier BSD o SysV UNIX
moriarty:~ dave$ which bash true false
/bin/bash
/usr/bin/true
/usr/bin/false
which
no da ningún resultado para un script personalizado (que está en $PATH
). type
hace.
Si usa bash builtin type
, le mostrará todas las ubicaciones (en ruta) para un comando:
$ type -a ls
ls is aliased to `ls --color=always'
ls is /bin/ls
$ type -a printf
printf is a shell builtin
printf is /usr/bin/printf
$ type -a touch
touch is /usr/bin/touch
touch is /bin/touch
Si el comando es una función, enumerará la definición de la función:
$ type -a somefunc
somefunc is a function
somefunc ()
{
echo "hello, world"
}
Estos ejemplos son de un sistema Ubuntu, pero los resultados serán similares para OS X.
which
no muestra la ruta de un script personalizado (que está en $PATH
). type
hace.
Depende de lo que estés buscando. La mayoría de las utilidades dependen de la variable de ruta. Sin embargo, si lo que está buscando está en su camino, es probable que realmente no necesite saber dónde está, a menos que haya varias copias del mismo ejecutable.
Sin embargo, esto no se aplica a la mayoría de las cosas que se ejecutan en OSX porque no se ejecutan como binarios normales de Linux / Unix. Aquí hay algunos métodos para encontrar cosas que no están en su declaración de ruta.
encontrar:
sudo find / -name <FILE>
Esto encontrará todo lo que exista en el sistema de archivos que proporcione como primer argumento. Debe ejecutarse como root para buscar directorios privados. También admite comodines si no está completamente seguro del nombre.
Terminal:
Si tiene el archivo en el buscador, puede abrir una ventana de terminal y colocar el archivo en él. Terminal con luego mostrar la ruta completa al archivo.
Destacar:
Bastante autoexplicativo. Estás donando ciclos de procesador para permitirle mantener un índice de tu fi
which
embargo, el comando funcionará generalmente no es la herramienta adecuada para hacer este tipo de trabajo. Vea estas preguntas y respuestas de U&L: unix.stackexchange.com/questions/85249/…