무언가를 설치하려고하는데 단계 중 하나가 있습니다.
"당신의 $PATH
"에 배치
이것은 무엇을 의미 하는가? 그게 뭐야?
이 사이트와 Google에서 모두 검색했지만 모두가 당연한 것으로 생각합니다!
무언가를 설치하려고하는데 단계 중 하나가 있습니다.
"당신의 $PATH
"에 배치
이것은 무엇을 의미 하는가? 그게 뭐야?
이 사이트와 Google에서 모두 검색했지만 모두가 당연한 것으로 생각합니다!
답변:
터미널에서 실행하십시오.
echo $PATH
또는
printf "%s\n" "$PATH"
보이는 것은 다음과 같은 디렉토리 목록입니다.
/home/jacob/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
이러한 디렉토리 중 하나에 실행 파일을 넣을 경우 실행 파일 / 스크립트의 경로를 설정할 필요는 없지만 이름으로 명령으로 실행할 수 있습니다.
실행 파일은 규칙에 따라 언어 확장 을 $PATH
가져서는 안됩니다 (작동하더라도)
파일에 $PATH
다음 줄을 추가하여 (영구적으로) 디렉토리를 추가 할 수 있습니다 ( ~/.profile
기본적으로 보이지 않음 , 파일 관리자에서 Ctrl+ H를 누르면 표시됨).
export PATH=$PATH:/path/to/dir
실행할 명령을 입력하면 시스템은 지정된 PATH
순서대로 지정된 디렉토리에서 명령을 찾습니다 .
echo $PATH
터미널 에 입력하여 지정된 디렉토리를 볼 수 있습니다 .
실행 파일이 가정 foobar01.sh
에서 현재 /home/user/foo1/foo2/foobar01.sh
정기적를에 실행하고자하는가. 전체 "경로"를 입력하면 시간이 많이 걸립니다. 따라서 디렉토리를 $PATH
변수 에 추가 foobar.sh
하고 경로를 지정하지 않고도 직접 실행할 수 있습니다 .
$PATH
다음 명령을 입력하여 추가 할 수 있습니다
export PATH=$PATH:/home/user/foo1/foo2
나는 당신이 Windows 배경에서 온다고 가정합니다 (사실이 아닌 경우 사과합니다). 일반인의 용어로, 경로 (또는 검색 경로)는 명령 행에 입력하는 모든 것을 검색 할 디렉토리 목록입니다. ls와 같은 내장 명령을 입력하면 지정된 디렉토리 목록을 찾습니다. echo $ PATH를 입력하여 경로를 찾을 수 있습니다. Windows와 * nix의 차이점은 다음과 같습니다. 기본적으로 Windows는 항상 현재 디렉토리에서 실행 파일을 찾습니다. 예를 들어, c : \ myscripts에 uptime.bat라는 파일이 있고 c : \ myscripts를 cd하고 가동 시간을 입력하면 파일이 실행됩니다. 그러나 * nix에서는 경로를 참조하고 실행 파일을 찾을 수 있습니다 (사용 가능한 경우).
스크립트를 / home / teresa / scripts 디렉토리에 보관 한 경우 해당 스크립트를 실행하려면 해당 디렉토리의 전체 경로를 지정해야합니다. 예 : / hone / teresa / checkHost cd / home / teresa를 변형 한 다음 ./checkHost를 입력하십시오 (./ 참고 : 파일을 현재 디렉토리에서 명시 적으로 실행하도록 요청 함을 의미합니다.
이를 피하려면 다음을 입력하십시오.
내보내기 PATH = $ PATH : / home / teresa / scripts
즉, 현재 존재하는 경로 외에도 / hone / teresa / scripts도 검색합니다. 그러나 이것의 문제점은 일단 로그 아웃하면이 설정이 사라진다는 것입니다. 따라서 숨겨진 파일 ~ / .bashrc를 편집하고 PATH 줄을 찾아 그에 따라 추가해야합니다. bash를 사용한다고 가정합니다. 다른 쉘의 경우 구문과 파일이 다릅니다.
새로운 사용자에게는 매우 유혹적입니다. 검색 경로에서 기본적으로 현재 디렉토리에서도 검색됨을 의미합니다. 그러나 다른 곳에서 논의 된 이유로 좋은 방법으로 간주되지 않습니다.
HTH