“HOME”변수를 변경했는데 이제“~ / .bash_profile”을 찾을 수 없어 다시 변경할 수 있습니다.


15

Mac에서 환경 변수를 어지럽히고 사용 방법을 배우려고했지만 명령을 사용 nano ~/.bash_profile하여 행 HOME=/Users/MyCompName/Desktop을 추가하여 홈 변수를 업데이트했습니다.

이 변경 사항은 효과가 있었고 printenv모든 환경 변수를 보는 데 사용할 때 볼 수 있지만 HOME다시 변경 하면 ~/.bash_profile더 이상 찾을 수 없었습니다. 어디 갔어?


9
기본적으로 ~의미$HOME
el.pescado

6
... 당신이 다시 정의하면 너무 $HOME, ~너무 재정의됩니다
el.pescado

답변:


32

같은 장소에 있습니다.

변경 사항이 ~와 같이 확장 되기 전에 /Users/YourUserName쉘에서 사용자를 찾습니다 .bash_profile. 파일이 소스 화 된 후 ~다른 경로로 확장되므로 ~/.bash_profile더 이상 관련 파일을 가리 키지 않습니다. 이 맥락에서 ~의미 하기 때문입니다 $HOME.

실제 홈 디렉토리의 전체 경로를 알고있는 경우 대신 대신 사용할 수 있습니다 ~. Mac에서는 아마도 다음과 같습니다.

nano /Users/YourUserName/.bash_profile

또는 Bash가 단순히 보지 않고 사용자 데이터베이스에서 홈 디렉토리를 찾도록하십시오 $HOME. 이것은 당신이 아무것도 기억할 필요가 없습니다 :

nano ~YourUserName/.bash_profile

HOME실제 홈 디렉토리를 변경하지 않고 변수를 수정 하는 것이 가장 좋은 방법은 아닙니다. 사용자의 홈 디렉토리 변경은 관리 작업이며 일반적으로 일반 사용자는이를 수행 할 수 없습니다.


정말 고마워 다시 찾을 수있었습니다! "파일이 소스 화 된 후"가 의미하는 바를 자세히 설명해 주시겠습니까? 파일을 소스로 얻는 것이 무엇을 의미하는지 잘 모르겠습니다.
Matt

6
@Matt .bash_profile는 Bash 스크립트 형식입니다. 스크립트를 실행하거나 소싱 할 수 있습니다. 실행은 서브 쉘을 작성하고 스크립트를 한 줄씩 실행하는 것을 의미합니다. 소싱은 현재 쉘 에서 스크립트를 실행하는 것을 의미합니다 . 현재 셸에 영향을주는 일부 작업은 하위 셸에서 실행할 수 없습니다. 현재 쉘의 변수를 변경하는 것 중 하나입니다. 이것이 서브 쉘에서 실행되지 않고 일부 파일이 소스 인 이유입니다. 파일을 수동으로 소싱하려면 . file( .POSIX로 지정) 또는 source file( source몇몇 쉘에서 이해하는 비 POSIX 확장자입니다)
Kamil Maciorowski


2
여러분의 홈 디렉토리로 사용 위치를 (마)를 모르는 경우, 당신은 사용할 수 있습니다 nano ~YourUserName/.bash_profile대신. $ HOME을 보지 않고 사용자 데이터베이스에서 홈 디렉토리를 찾습니다.
Stig Hemmer

1
@StigHemmer 이제 답변은 커뮤니티 위키입니다. 당신의 유용한 의견이 동화되었습니다. 감사합니다.
Kamil Maciorowski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.