which
nunca exibiu mensagens de erro na linha de comando. Pelo menos não na versão Debian do Linux. Cada sistema parece ter sua própria versão (uma das razões pelas quais outros comandos são preferidos), então talvez seu curso estivesse referenciando outro sistema operacional? Para uso em scripts, você pode ter 3 status de saída:
EXIT STATUS
0 if all specified commands are found and executable
1 if one or more specified commands is nonexistent or not executable
2 if an invalid option is specified
Use type
, whatis
ou whereis
. Todos os 3 irão mostrar que não encontrou o que você pediu.
$ type aaa
bash: type: aaa: not found
$ whereis aaaa
aaaa:
$ whatis aaaa
aaaa: nothing appropriate.
e
type firefox
firefox is /usr/bin/firefox
$ whereis firefox
firefox: /usr/bin/firefox /usr/lib/firefox /etc/firefox
/usr/share/man/man1/firefox.1.gz
$ whatis firefox
firefox (1) - a free and open source web browser
from Mozilla
Aqui está um pouco da história em que de nosso U & L.