使用 /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 新手,在我看來,使用 using/usr/bin/env來寫指令是一種奇怪的方式。我想知道為什麼我的第二行不起作用(雖然有些有效,例如mkdirls

我無法擺脫的原因/usr/bin/env是我正在使用 Capistrano 並且它一直在前面添加前綴。如果有辦法擺脫的話/usr/bin/env那就更好了。

先感謝您。

答案1

您無法運行,env cd /path/to/directory因為您的系統中沒有呼叫任何程式cd。進程可以使用系統呼叫來更改其工作目錄。在 shell 中,您可以使用內建指令cd。呼叫它env沒有任何意義,因為它創建了一個新進程,該進程將在更改其工作目錄後立即退出。新env進程無法以標準方式變更呼叫程序的工作目錄。

相關內容