Usando /usr/bin/env para alterar o diretório

Usando /usr/bin/env para alterar o diretório

Quero executar comandos automaticamente com o prefixo/usr/bin/env

$/usr/bin/env composer install (this runs OK)
$/usr/bin/env cd public (failed ---> /usr/bin/env: cd: No such file or directory)

Sou novo no Linux e, na minha opinião, usar /usr/bin/envé uma maneira estranha de escrever comandos. Eu me pergunto por que minha segunda linha não funcionou (enquanto algumas funcionaram, como mkdirou ls)

A razão pela qual não consigo me livrar /usr/bin/envé que estou usando o Capistrano e ele continua acrescentando o prefixo. Se houver uma maneira de se livrar /usr/bin/env, melhor ainda.

Agradeço antecipadamente.

Responder1

Você não pode executar env cd /path/to/directoryporque não há nenhum programa chamado cdem seu sistema. Um processo pode alterar seu diretório de trabalho usando uma chamada de sistema. Em um shell você pode usar um comando interno cd. Chamá-lo envnão faz sentido, pois cria um novo processo que sairia logo após alterar seu diretório de trabalho. O novo envprocesso não pode alterar o diretório de trabalho do processo chamador de maneira padrão.

informação relacionada