我想自動執行帶有前綴的命令/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 新手,在我看來,使用 using/usr/bin/env
來寫指令是一種奇怪的方式。我想知道為什麼我的第二行不起作用(雖然有些有效,例如mkdir
或ls
)
我無法擺脫的原因/usr/bin/env
是我正在使用 Capistrano 並且它一直在前面添加前綴。如果有辦法擺脫的話/usr/bin/env
那就更好了。
先感謝您。
答案1
您無法運行,env cd /path/to/directory
因為您的系統中沒有呼叫任何程式cd
。進程可以使用系統呼叫來更改其工作目錄。在 shell 中,您可以使用內建指令cd
。呼叫它env
沒有任何意義,因為它創建了一個新進程,該進程將在更改其工作目錄後立即退出。新env
進程無法以標準方式變更呼叫程序的工作目錄。