Estou tentando encontrar o caminho de comandos básicos como ls
ou cd
usando which
o comando. Eu vejo o caminho para, ls
mas não para cd
. É claro que ambos os comandos funcionam bem. Qualquer ideia?
$ which ls
/bin/ls
$ which cd
$
Responder1
cd
é sempre um comando interno fornecido pelo próprio shell. Não será encontrado como um utilitário externo. Isso não é de forma alguma específico do Linux.
DeSeção "USO DO APLICATIVO" cd
no padrão POSIX:
Como
cd
afeta o ambiente de execução do shell atual, ele é sempre fornecido como um shell regular integrado. Se for chamado em um subshell ou em um ambiente de execução de utilitário separado, como um dos seguintes:
(cd /tmp)
nohup cd
find . -exec cd {} \;
isso não afeta o diretório de trabalho do ambiente do chamador.
Uma maneira portátil de encontrar o caminho de um comando é usar command -v
:
bash-4.4$ command -v ls
/bin/ls
bash-4.4$ command -v cd
cd
type
será um pouco mais detalhado:
bash-4.4$ type ls
ls is /bin/ls
bash-4.4$ type cd
cd is a shell builtin
Veja também "Por que não usar "qual"? O que usar então?"