.bashrc의 이 PATH 문은 무엇을 합니까? [복사]

.bashrc의 이 PATH 문은 무엇을 합니까? [복사]

OpenMPI 설치를 완료했고 프로세스가 끝나면 다음을 요청했습니다.

Then openmpi is installed at the directory indicated by prefix. Next,
add the following two lines to your ./bashrc file, which is located
at your home directory.

PATH=$PATH:/usr/local/openmpi-3.0.0/bin export PATH

When you open the terminal window next time, you can use openmpi. Make it sure by typing

$which mpirun

내가 무엇을해야 하나? 이 단계가 필요한 이유는 무엇입니까?

답변1

PATH는 설치 위치에 대한 전체 경로를 제공하지 않고 셸에서 명령을 실행하는 셸 변수입니다. 현재 명령 경로를 확인하려면 셸에서 다음 명령을 실행하면 됩니다.

# echo $PATH

다른 경로 /usr/local/openmpi-3.0.0/bin에 소프트웨어를 설치했으며 openmpi의 전체 명령 경로는 /usr/local/openmpi-3.0.0/bin/openmpi입니다.

따라서 /usr/local/openmpi-3.0.0/bin 폴더를 PATH 변수에 추가하면 간단히 명령을 .

# openmpi

그렇지 않으면 실행해야 합니다.

# /usr/local/openmpi-3.0.0/bin/openmpi

답변2

몇 가지 사항: 첫째, 주석 작성자 @Artem S. Tashkinov가 말했듯 export PATH이 별도의 명령이므로 줄 바꿈이 필요합니다(일부 셸에서는). PATH환경변수로 new를 설정하라고 나오네요 . 환경 변수는 프로그램뿐만 아니라 환경 전체에서 사용되는 변수(동적 값)입니다. 단순화하여 환경 = 쉘이라고 생각하십시오(수정해 주신 ilkkachu에게 감사드립니다).

둘째, 귀하의 질문에 보다 직접적으로 대답하기 위해 $PATH실행 파일(프로그램)의 위치를 ​​저장하는 환경 변수가 있습니다. 터미널에 입력하면 쉘이 그 존재를 알고 실행할 수 있도록 추가 /usr/local/openmpi-3.0.0/bin하기 만 하면 됩니다 . 콜론 앞의 부분은 이미 내용입니다. 콜론은 "이전 내용에 다음 내용을 추가합니다"를 의미합니다 .$PATHmpirun/usr/local/openmpi-3.0.0/bin$PATH/usr/local/openmpi-3.0.0/bin

왜 USD가 필요한가요?라고 물으실 수도 있습니다. 간단한 대답은 쉘이 $로 정의된 변수를 참조한다는 것입니다. 예를 들어, 다음을 실행하면:

NAME='BOB'

echo $NAME

쉘은 인쇄할 것이고 BOB,

echo NAME

쉘이 인쇄되게 할 것입니다 NAME.

마지막으로, 실행 파일의 홈 디렉터리를 추가하는 대신 변경하는 것을 원하지 않을 것입니다. $PATH그렇지 않으면 시스템이 다른 프로그램이 어디에 있는지 알 수 없습니다.

관련 정보