Cd-Command

沒有指定路徑時,cd 命令在哪裡配置為 cd $HOME?

  • March 9, 2016

以下命令做同樣的事情

  • $ cd
  • $ cd $HOME
  • $ cd ~
  • $ cd /home/user

在其中三個中,路徑是相對指定的。但究竟是如何或為什麼簡單地cd打開使用者的主目錄?

這是POSIX 標準中記錄的行為:

  1. 如果沒有給出目錄操作數並且 HOME 環境變數設置為非空值,則 cd 實用程序的行為就像在 HOME 環境變數中指定的目錄被指定為目錄操作數一樣。

此功能來自於 1979 年在Unix 版本 7中引入的Bourne shell 。在該系統中,被記錄為命令的預設參數(主目錄)”。Bourne shell 的前身(如果您不帶參數使用, Thompson shell只會列印一條錯誤消息(Bourne shell 還將命令的名稱縮短為)。HOMEcdchdir``cd

我沒有選擇這個的權威來源,但為什麼不呢?cd沒有爭論沒有做任何有用的事情,主目錄是使用者經常需要返回的目錄。~語法還不存在,所以cdcd $HOME.

Linux 系統通常沒有僅作為 shell 內置命令的手冊頁。它們記錄在每個 shell 的手冊中。

引用自:https://unix.stackexchange.com/questions/268530