Eu tenho esse comando que executo. Vamos chamá-lo foo
. Posso executar foo
sem especificar o caminho completo para foo
assim:
$ foo
missing args
Suspeito foo
que seja um script bash, então quero ver o código-fonte em foo
, mas quando o faço, which foo
recebo a mensagem de erro padrão:
which: no foo in (/usr/local/bin ...removed for brevity ...)
O que da?
Responder1
Você poderia usar o type
embutido, que indica como o argumento seria interpretado se usado como um nome de comando, por exemplo, como uma função, embutido, um binário (em $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'
Veja tambémPor que não usar "which"
? O que usar então?para um texto mais detalhado sobre o assunto.