我想自动执行带有前缀的命令/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
是一种奇怪的命令编写方式。我想知道为什么我的第二行不起作用(而有些可以,比如mkdir
或ls
)
我无法摆脱 的原因/usr/bin/env
是我使用的是 Capistrano,它一直在添加前缀。如果有办法摆脱/usr/bin/env
,那就更好了。
先感谢您。
答案1
您无法运行,env cd /path/to/directory
因为系统中没有调用任何程序cd
。进程可以使用系统调用更改其工作目录。在 shell 中,您可以使用内置命令cd
。从中调用它env
没有任何意义,因为它会创建一个新进程,该进程在更改其工作目录后就会退出。新env
进程无法以标准方式更改调用进程的工作目录。