환경 변수를 편집하고 싶습니다 $PATH
. 여러 튜토리얼 및 이와 같은 기타 소스에 따르면Q&A), 가장 일반적인 방법은 편집하는 것입니다 ~/.profile
. 그러나 나에게는 그러한 파일이 존재하지 않습니다. 어떡해? (시스템에 따라 다른 이름이 있는지요? 새로 만들어야 하나요? 무엇을 넣어야 하나요? 다른 방법이 있나요?)
저는 네트워크 클러스터의 사용자이고 전역 환경 변수를 편집하고 싶지 않습니다. ~/.bashrc
내 사용자를 위해 뭔가를 변경하기 전에 편집한 적이 있고 파일이 여러 개 있었지만 파일 ~/.
이 없었습니다 ~/.profile
.
저는 Ubuntu 16.04.2 LTS, 코드명: Xenial을 사용하고 있습니다. echo $PATH
일부 전역 bin 디렉터리만 제공하지만 일부 사용자별 bin을 설치한 후 /path/to/home~/expanded/.local/bin/
이를 PATH에 추가하고 싶습니다.
답변1
파일이 있으면 ~/.bash_profile
편집하십시오(사용하고 있는 것 같으므로 (Linux를 사용하고 이전에 편집한 파일이 bash
있다고 언급했기 때문에 )). ~/.bashrc
쉘은 존재하지 않는 경우에만 읽기를 시도합니다 bash
. 파일이 모두 존재하지 않으면 생성할 수 있습니다.~/.profile
~/.bash_profile
~/.bash_profile
추가하고 싶은 줄은 다음과 같습니다.
PATH="$HOME/.local/bin:$PATH"
또는
PATH="$PATH:$HOME/.local/bin"
추가된 디렉토리를 먼저 검색할지 아니면 마지막으로 검색할지 여부에 따라 다릅니다.
변수가 이미 내보내졌으므로 export
필요 하지 않습니다 .PATH
$HOME
와 동일 ~
하지만 IMHO는 쉘 스크립트에서 더 표현력이 뛰어납니다. 또한 적절한 변수처럼 동작하지만 ~
그렇지 않습니다. 예를 들어 참조하십시오.큰따옴표 안에서 물결표(~)가 확장되지 않는 이유는 무엇입니까?
/
또한 Unix에서는 경로가 백슬래시( )가 아닌 슬래시()로 구분되므로 대신 백슬래시가 \
필요합니다 .~/.bash_profile
~\.bash_profile
대부분의 sh
유사한 쉘(하나만 있음 bash
) 은 .profile
로그인 쉘로 시작될 때 사용자의 홈 디렉토리를 읽습니다. 그렇기 때문에 사용된 특정 쉘이 .profile
아닌 언급에 링크한 답변이 .bash_profile
질문에 언급되지 않았습니다.
bash
예를 들어 일부 셸은 자체 특수 시작 파일이 있으면 이를 무시합니다.