
Tengo este comando que ejecuto. Llamémoslo foo
. Puedo ejecutar foo
sin especificar la ruta completa foo
así:
$ foo
missing args
Sospecho foo
que es un script bash, así que quiero ver el código fuente en foo
, pero cuando lo hago, which foo
aparece el mensaje de error estándar:
which: no foo in (/usr/local/bin ...removed for brevity ...)
¿Lo que da?
Respuesta1
Puede usar el type
incorporado, que indica cómo se interpretaría el argumento si se usara como nombre de comando, por ejemplo, como una función, incorporado, un binario (bajo $PATH
)
$ f() { echo foo; }
$ type f
f is a function
f ()
{
echo foo
}
$ type type
type is a shell builtin
$ type grep
grep is /usr/bin/grep
$ alias z='echo zee zee'
$ type z
z is aliased to `echo zee zee'
Ver también¿Por qué no usar?"which"
? ¿Qué usar entonces?para un artículo más detallado sobre el tema.