$ PATH는 무엇을 의미합니까?


28

무언가를 설치하려고하는데 단계 중 하나가 있습니다.

"당신의 $PATH"에 배치

이것은 무엇을 의미 하는가? 그게 뭐야?

이 사이트와 Google에서 모두 검색했지만 모두가 당연한 것으로 생각합니다!



2
@muru 아니오 나는 그 질문을 읽었으며 그것은 나와 공통점이 없습니다. 또한이 질문은 전혀 도움이되지 않았습니다.
Adam

4
@muru 나는 ​​질문을 추가하는 방법에 관한 것이 아니라고 생각한다.
Jacob Vlijm

1
@JacobVlijm 당신이 맞지 않습니다.
Adam

2
내가 참조. 좋구나. 관련; askubuntu.com/q/141718/158442
muru

답변:


24

터미널에서 실행하십시오.

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 변수 편집

파일에 $PATH다음 줄을 추가하여 (영구적으로) 디렉토리를 추가 할 수 있습니다 ( ~/.profile기본적으로 보이지 않음 , 파일 관리자에서 Ctrl+ H를 누르면 표시됨).

export PATH=$PATH:/path/to/dir

환경 변수에 대한 더 유용한 정보

(와 같은 $PATH)은 여기 에서 찾을 수 있습니다 (@Letizia의 제안에 감사드립니다)


.bashrc PATH = $ PATH : / path / you / want 또는 .profile에서 어떻게 바꾸는 지 제안 할 수 있습니다. 어떻게 생각하십니까?
Lety

그리고 이것은 유용 링크 초보자를위한
Lety

@ Letizia 나는 첫 번째를 선호합니다. 답변을 삭제 했습니까? 우리는 거의 동시에 있었다. 우리는 멋지게 확산 조합 :) 만들었을 수도
야곱 Vlijm을

그렇습니다, 나는 이미 해냈고, 나의 대답은 제거되었고 나는 그것이 당신에게 더 잘 기여한다고 생각했습니다. 내 의견에 대해 어떻게 생각하세요?
Lety

@Letizia 코멘트 = 완벽한, 나는 편집 할 것이다. 감사!
Jacob Vlijm

6

$PATH파일 위치 관련 환경 변수 .

실행할 명령을 입력하면 시스템은 지정된 PATH순서대로 지정된 디렉토리에서 명령을 찾습니다 .

echo $PATH터미널 에 입력하여 지정된 디렉토리를 볼 수 있습니다 .

실행 파일이 가정 foobar01.sh에서 현재 /home/user/foo1/foo2/foobar01.sh정기적를에 실행하고자하는가. 전체 "경로"를 입력하면 시간이 많이 걸립니다. 따라서 디렉토리를 $PATH변수 에 추가 foobar.sh하고 경로를 지정하지 않고도 직접 실행할 수 있습니다 .

$PATH다음 명령을 입력하여 추가 할 수 있습니다

export PATH=$PATH:/home/user/foo1/foo2


2

나는 당신이 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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.