Por ejemplo, si se pasa lscomo entrada, debería decirme que /bin/lsse ejecutará si se ejecuta lsen la línea de comandos.
fuente
Por ejemplo, si se pasa lscomo entrada, debería decirme que /bin/lsse ejecutará si se ejecuta lsen la línea de comandos.
Solo un shell incorporado le dirá a uno correctamente lo que hará el shell para un nombre de comando dado, ya que solo los incorporados pueden conocer completamente los alias, las funciones del shell, otros incorporados, etc. Recuerde: no todos los comandos corresponden a archivos ejecutables en primer lugar.
Para el shell Bourne Again bash, el incorporado es el typecomando:
$ type '['
[ is a shell builtin
Para la concha de pescadofish , The typebuiltin funciona de manera similar a bash. Para obtener solo la ruta a un ejecutable, use command -v:
$ type cat
cat is /bin/cat
$ command -v cat
/bin/cat
Para el shell Korn, ksh, el built-in es el whencecomando - con typecreado inicialmente como un alias normal para whence -vy el commandincorporado en la -vopción equivalente a whence:
$ whence -v ls
ls is a tracked alias for /bin/ls
Para el Shell Z, zsh, el built-in es el whencemando, con el commandbuilt-in con la -vopción equivalente a whencey los muebles empotrados type, whichy whereequivalente a whencelas opciones -v, -cy -carespectivamente.
$ whence ls
/bin/ls
Por la Concha de TC, tcsh, el built-in es el whichcomando - que no debe confundirse con cualquier comando externo con ese nombre:
> which ls
ls: aliased to ls-F
> which \ls
/bin/ls
typetambién está integrado en zsh?which-2.19-6.el6.x86_64) Coloca un archivo de inicio/etc/profile.d/which2.sh. Esto se lee mediante shells que no son csh, incluido zsh. Se aliaswhicha sí mismo. Entonces, para los usuarios de zsh, en particular, anula las interrupciones incorporadaswhich.Puedes usar
whichpara esto:Funciona buscando
PATHarchivos ejecutables que coincidan con los nombres de los argumentos. Tenga en cuenta que no funciona con alias de shell:type, sin embargo, funciona:fuente
whichno es necesariamente suficiente por sí solo. Solo devuelve el primer nombre encontrado en $ PATH ... Ese nombre puede ser un enlace simbólico, y no el ejecutable real de fin de cadena .whichno no (necesariamente) devolver el archivo ejecutable. Devuelve el primer nombre de archivo coincidente que encuentra en $ PATH (o múltiples archivos con nombre similar cuando se usawhich -a) ... El ejecutable real puede estar a varios enlaces de distancia.which locate/usr/bin/locate``
file $(which locate)/usr/bin/locate: symbolic link to /etc/alternatives/locate'El comando que encuentra el ejecutable real es
readlink -e,(junto con
which)readlink -e $(which locate)/usr/bin/mlocatePara ver todos los enlaces intermedios :
fuente
Puedes probar:
Me da:
fuente