export PATH=
TL;DR bashrc에서 해당 줄을 주석 처리할 때에도 뭔가 내 경로가 변경되고 내 사용자 정의 디렉터리가 세 배로 늘어났습니다.
.bashrc
최근에 경로에 두 개의 사용자 정의 디렉토리를 추가하기 위해 my에 한 줄을 추가했습니다 .
export PATH=~/Documents/Code/Own/Scripts/:~/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:$PATH
모든 것이 괜찮아 보이고 문제가 없습니다. 그러나 오늘, 내가 가지고 있는 디렉터리가 무엇인지 확인하기 위해 경로를 확인한 결과 사용자 지정 디렉터리가 3번 나타나는 것을 확인했습니다.
echo $PATH
/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/myusername/.local/bin:/home/myusername/bin
이상하다, 나는 속으로 생각했다. 내 bashrc에서 해당 줄을 주석 처리하겠습니다. 어떤 이유로든 이 줄을 3번 가져와야 합니다. 터미널에서 새 탭을 열었습니다. 첫 번째 사용자 정의 디렉터리 쌍은 사라졌지만 나머지 두 개는 사라졌습니다.아직 거기 있어:
/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/home/myusername/Documents/Code/Own/Scripts/:/home/myusername/Misc/Applications/phantomjs-2.1.1-linux-x86_64/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/myusername/.local/bin:/home/myusername/bin
따라서 세션당 경로를 저장하는 GNOME 터미널의 문제일 수도 있습니다. TTY를 통해 로그인하세요. 경로가 정확합니다. 중복된 항목이 없습니다(내 bashrc는 여전히 bash_profile 라인을 통해 가져옵니다). 그러나 문제는 xterm을 사용하여 지속됩니다. 이는 GNOME 터미널 문제로 귀결되지 않음을 의미합니다.
내가 이해하지 못하는 것은 bashrc의 줄을 주석 처리하고 다른 곳에 추가하지 않을 때 어떤 파일이 경로를 변경하는지입니다. 어떤 아이디어가 있나요?
답변1
그놈 터미널에서 새 탭을 열면 비어 있는 새 환경을 만드는 대신 환경이 새 셸에 복사됩니다. 개인적으로 나는 이것이 버그라고 생각하지만(그리고 내가 GNOME 터미널을 직접 사용하지 않는 이유 중 하나) 개발자에게는 나름의 이유가 있을 것이라고 확신합니다. 새 탭을 시작하고 환경을 복사하면 소싱을 포함하는 일반적인 대화형 시작 루틴을 수행하는 셸이 시작됩니다..bashrc
여러 번 추가하지 않으려면 다음과 같은 몇 가지 옵션이 있습니다.
- 다른 터미널 에뮬레이터로 전환
- 에서 수정하지
.bashrc
말고 에서 수정하십시오..bash_profile
이는 로그인 프로세스의 일부이지 대화형 실행이 아니므로 새 탭에서 사용하면 안 됩니다(그러나 명백히 GNOME 터미널은 생각보다 나쁠 수 있습니다). 여전히 소스로 쉘을 시작합니다.bash_profile
. 마지막으로 사용한 지 꽤 되었습니다. - 다시 수정하기 전에 PATH 변수에 필요한 수정 사항이 포함되어 있는지 확인하십시오.
답변2
로그아웃했다가 다시 로그인하여 해결한 것으로 보아 이전 세션에서 했던 작업으로 인해 발생한 것으로 보입니다.