우분투에서 $ PATH를 기본값으로 재설정하는 방법은 무엇입니까?


31

$PATH에 새 디렉토리 를 추가하려고 할 때 실수로 모든 디렉토리를 설정 해제 했습니다 ~/.bashrc. 편집 할 때 새 터미널 창을 열 었는데 지금 $PATH비어 있습니다. 다른 드라이브 $PATH에서 부팅하여이 드라이브로 다시 부팅 할 수 없는지 걱정됩니다 .

기본적으로 echo $PATH? 의 기본 결과는 무엇입니까?


1
해당 수출 라인을 주석 처리하거나 수정하십시오.
Panther

~/.bashrc환경 변수를 설정하기에 잘못된 곳입니다. ~/.profile대신 대신 해야 합니다.
geirha

예, 알아 냈습니다. 새 터미널 이전에 열린 다른 터미널 창에서 PATH는 여전히 :$PATH좋습니다. 끝에 추가하여 내보내기 행을 수정 하면 PATH가 복원됩니다. 그리고 ~/.profile"경로를 설정하여 사용자의 개인 저장소가있는 경우이를 포함하는"PATH 코드가 있습니다.$HOME/bin
Cee

답변:


35

귀하의 질문에 대한 답변은 다음과 같습니다

PATH=$(getconf PATH)

POSIX 호환 시스템에서 작동합니다. 선택된 답변은 기존의 기존 컨텐츠를 없애지 않고 경로를 확대하는 올바른 방법입니다. bash를 사용하면 다음을 고려할 수 있습니다.

PATH+=:$mynewdir

sed: No such file or directory매우 긴 실행 프로세스 중에 실수로 PATH를 아무것도 설정하지 않은 후 (즉, 다시 시작할 수 없음) 많은 명령 ( 문제 유형)을 사용하는 데 문제가있었습니다 . 사용할 수 없습니다 getconf. 경로를 재설정하기 위해을 사용했습니다 $(export $(cat /etc/environment)":/usr/bin/additional:/usr/bin/paths"). 궁금한 점 /etc/environment은 PATH 변수가 많은 Linux 풍미에서 처음 설정되는 곳입니다.
Nick Bull

2
그 일이 저를 놀라게 할 것입니다. 아마도 주변의 "$ (...)"항목이없는 "내보내기"가있을 수 있지만, 어떤 일이 발생하든 상관 없습니다. "source / etc / .."를 사용하십시오. 어쨌든 "getconf"를 찾을 수 없다면 "/ usr / bin / getconf"를 시도하십시오.
Bruce

내 생각보다 전체 경로를 훨씬 더 많이 사용하여 최종 아이디어를 선호하십시오! 답장을 보내 주셔서 감사합니다
Nick Bull

1
PATH 변수가 비어 있으면 PATH=$(getconf PATH)유용하지 않지만 결과는 다음과 같습니다.bash: getconf: No such file or directory
Max N

1
PATH가 비어 있으면 위의 주석을 참고하십시오 : "/ usr / bin / getconf". 그래도 작동하지 않으면 시스템이 POSIX 명령을 보관하는 위치를 알고 해당 디렉토리를 사용해야합니다.
Bruce

17

/ etc / environment에서 찾을 수 있습니다.

$ /usr/bin/cat /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

그래서, 그냥 출처 :

$ source /etc/environment 
$ echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

1
$ PATH가 없기 때문에 고양이는 당신의 대답과 같은 방식으로 작동하지 않습니다
Josef Klimuk

네가 옳아. 방금 답변을 수정했습니다. 고맙습니다!
마누엘 예수 로드리게스

8

내보내기 라인의 끝에 : $ PATH를 추가하면 문제가 해결되었습니다. export PATH=<directory to be added>:$PATH

이 줄을 ~/.bash_rc파일 대신 파일에 추가하면 ~/.profile새 터미널에서 즉시 효과를 볼 수 있으며 여기에서 정보를 기반으로 한 다른 이유로 https://superuser.com/questions/176404/linux-bash-not- 새 세션 로딩 프로파일

나를 echo $PATH위해 새 디렉토리를 추가하기 전에 의 기본 출력 은 다음과 같습니다.

/ usr / lib / lightdm / lightdm : / usr / local / sbin : / usr / local / bin : / usr / sbin : / usr / bin : / sbin : / bin : / usr / games


3

기본 경로는

/home/_username_/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games 

희망이 당신을 도울


기본 PATH와 다릅니다. 아래를 참조하십시오.
Cee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.