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.

$HOME문제를 해결하는 동안 PowerShell의 자동 변수가 매핑된 드라이브로 설정 되어 있음 C:\Users\username을 발견했습니다.$Env:HOME

PowerShell의 자동 변수가 다른 이유는 무엇입니까? Active Directory가 $Env:HOME변수를 매핑된 드라이브로 설정한다고 가정합니다 . 그 맞습니까? 그렇다면 $HOME동일한 경로를 사용해서는 안됩니까?

답변1

TLDR; $HOME플랫폼 간 호환성을 위해 선호됩니다.

SO 게시물에 따르면홈 디렉토리 가져오기:

현재 사용자의 홈 디렉토리를 참조하는 가장 강력한 방법은 다음을 사용하는 것입니다.자동변수 $HOME.

사용하려고 했다면환경 변수 $env:HOME, 플랫폼 차이는 Windows와 Unix에서 표면화됩니다.

관련 정보