Você pode usar type
e which
para determinar o que é um determinado comando em bash
e, se for um aplicativo, onde ele reside.
$ type type
type is a shell builtin
$ type cd
cd is a shell builtin
$ type ls
ls is aliased to 'ls --color=auto'
$ type -P ls
/Users/danielbeck/bin/ls
$ which which
/usr/bin/which
$ which ls
/Users/danielbeck/bin/ls
Os comandos which
e type -P
só funcionam para programas no seu PATH
, é claro, mas você não poderá executar outros apenas digitando o nome do comando deles mesmo assim.
Se você estiver procurando uma maneira simples de determinar onde um pacote de aplicativos do OS X (GUI) está instalado (como usado, por exemplo, pelo comando open
), você pode executar o seguinte AppleScript curto na linha de comando:
$ osascript -e 'tell application "System Events" to POSIX path of (file of process "Safari" as alias)'
/Applications/Safari.app
Isso requer que o programa em questão (Safari no exemplo) esteja em execução.