setenv 경로 우선순위

setenv 경로 우선순위

동일한 소프트웨어에 대한 경로를 포함해야 하지만 두 개의 다른 버전이 두 개의 다른 위치에 설치되어 있어야 합니다. 왜냐하면 이 파일에 대한 편집 권한이 없고 이러한 다른 위치에 다른 소프트웨어가 있으므로 두 디렉터리를 모두 포함해야 하기 때문입니다.

첫 번째 디렉토리 $HOME에는 많은 소프트웨어가 포함되어 있고, 두 번째 디렉토리에는 /grid/common/더 적은 수의 최신 버전이 포함되어 있습니다. 따라서 경로 환경 변수를 정의할 때 두 번째 폴더가 첫 번째 폴더 앞에 오도록 하고 싶습니다.

내 스크립트에서:

setenv LD_LIBRARY_PATH $HOME/lib:/grid/common/lib

이 경우 /grid/common/선행 됩니까 $HOME, $HOME선행됩니까 ?/grid/common/

답변1

후자: $HOME/lib앞(표지) /grid/common/lib. 관례적으로 콜론으로 구분된 디렉터리 경로 목록을 제공하는 환경 변수는 다음에서 가져옵니다.왼쪽에서 오른쪽으로.

POSIX여러 "경로" 변수가 나열되어 있으며 모두 왼쪽에서 오른쪽으로 처리됩니다( CDPATH, NLSPATH, 포함) PATH. 이것을 언급하지 않는다는 것이 이상합니다(나열된 여러 변수보다 더 일반적으로 사용됩니다).

종종 문서에서는 왼쪽에서 오른쪽으로 말하지 않고 독자의 문화적 편견이 나머지 세부 사항을 채운다고 가정하고 "순서"만 말합니다.

관련 정보