Usando /usr/bin/env para cambiar de directorio

Usando /usr/bin/env para cambiar de directorio

Quiero ejecutar automáticamente comandos con el prefijo/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)

Soy nuevo en Linux y, en mi opinión, usar /usr/bin/enves una forma extraña de escribir comandos. Me pregunto por qué mi segunda línea no funcionó (mientras que algunas funcionaron, como mkdiro ls)

La razón por la que no puedo deshacerme de ella /usr/bin/enves que estoy usando Capistrano y sigue anteponiendo el prefijo. Si hay una manera de deshacerse de él /usr/bin/env, es aún mejor.

Gracias de antemano.

Respuesta1

No puede ejecutarlo env cd /path/to/directoryporque no hay ningún programa llamado cden su sistema. Un proceso puede cambiar su directorio de trabajo mediante una llamada al sistema. En un shell puedes usar un comando incorporado cd. Llamarlo desde envno tiene ningún sentido ya que crea un nuevo proceso que saldría justo después de cambiar su directorio de trabajo. El nuevo envproceso no puede cambiar el directorio de trabajo del proceso que llama de forma estándar.

información relacionada