使用 /usr/bin/env 更改目录

使用 /usr/bin/env 更改目录

我想自动执行带有前缀的命令/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)

我是 Linux 新手,在我看来,使用/usr/bin/env是一种奇怪的命令编写方式。我想知道为什么我的第二行不起作用(而有些可以,比如mkdirls

我无法摆脱 的原因/usr/bin/env是我使用的是 Capistrano,它一直在添加前缀。如果有办法摆脱/usr/bin/env,那就更好了。

先感谢您。

答案1

您无法运行,env cd /path/to/directory因为系统中没有调用任何程序cd。进程可以使用系统调用更改其工作目录。在 shell 中,您可以使用内置命令cd。从中调用它env没有任何意义,因为它会创建一个新进程,该进程在更改其工作目录后就会退出。新env进程无法以标准方式更改调用进程的工作目录。

相关内容