為什麼 PowerShell 自動變數 $HOME 和環境變數 $Env:HOME 之間有差異?

為什麼 PowerShell 自動變數 $HOME 和環境變數 $Env:HOME 之間有差異?

我們的組織透過 Active Directory 將每個使用者的主資料夾對應到網路共用。這會導致 Git 出現問題,因為 Git 期望在用戶的主資料夾中找到全域用戶配置文件,由於此設置,對我來說這是一個映射驅動器。git config --global --list拋出fatal: unable to read config file 'H://.gitconfig': No such file or directory

在進行故障排除時,我發現$HOMEPowerShell中的自動變數設定為C:\Users\username$Env:HOME設定為映射磁碟機。

為什麼PowerShell的自動變數不同?我假設 Active Directory 正在將$Env:HOME變數設定為映射磁碟機;那是對的嗎?如果是這樣,不應該$HOME使用相同的路徑嗎?

答案1

總長DR;$HOME跨平台相容性首選

根據 SO 帖子取得主目錄:

引用目前使用者主目錄最可靠的方法是使用自動變數 $HOME

如果您嘗試使用環境變數 $env:HOME,Windows 與 Unix 上的平台差異會顯現出來

相關內容