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 mkdir
ou 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/directory
porque não há nenhum programa chamado cd
em 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 env
não faz sentido, pois cria um novo processo que sairia logo após alterar seu diretório de trabalho. O novo env
processo não pode alterar o diretório de trabalho do processo chamador de maneira padrão.