MANPATH를 복원하는 쉬운 방법

MANPATH를 복원하는 쉬운 방법

오늘 내 texlive 배포판에 매뉴얼 페이지를 추가하려고 시도하는 동안 실수로 다음과 같은 작업을 수행했습니다.

$ MANPATH=MANPATH:/usr/local/texlive/2011/texmf/doc/man
$ export MANPATH

...내 말은:

$ MANPATH=$MANPATH:/usr/local/texlive/2011/texmf/doc/man
$ export MANPATH

그 결과 다음과 같은 매우 쓸모없는 `$MANPATH가 생겼습니다.

$ echo $MANPATH
$ MANPATH:/usr/local/texlive/2011/texmf/doc/man

모든 매뉴얼 페이지를 다시 추가하는 빠른 방법이 있습니까 $MANPATH?

답변1

이와 같이 내보낸 변수는 현재 셸 및 모든 하위 프로세스 내에서만 유효합니다. 구성 파일이나 shell-rc 파일에 이러한 명령을 저장하지 않으면 시작된 모든 새 셸은 다시 원래 값을 가져야 합니다.

현재 셸을 닫고 새 셸을 시작하는 것이 의미 있는 변수 집합을 얻는 env가장 쉬운 방법 입니다.

답변2

현재 셸 세션에 관심이 있는 경우 다음 명령을 사용할 수 있습니다.

MANPATH=$(source /etc/profile; echo $MANPATH)

그러나 현재 쉘 환경과 변수에 관심이 없다면 가장 쉬운 방법은 아마도 새 세션을 시작하는 것입니다.

노트:위 명령은 시스템 범위 /etc/profile(환경 변수의 모든 기본 정의 제공)를 읽고 "reset" 값을 인쇄하는 새 프로세스를 시작합니다 MANPATH. 이 $()구성은 이 프로세스의 출력을 쉘에 배치합니다 MANPATH. 다른 재정의는 source /etc/profile현재 쉘에 영향을 주지 않고 하위 프로세스에만 영향을 미칩니다.

답변3

일부 man구현의 경우 이 명령은 manpath -g기본 시스템 맨 경로를 표시합니다. 구현에 manpath명령이 없는 경우 man man기본값이 무엇인지 확인하세요. 하지만 변수를 정의하면 MANPATH기본값과 다를 수 있습니다.

환경 변수의 이전 값을 가져오는 마법 같은 방법은 없습니다. 이 셸 세션에서 설정한 경우 이전 설정이 여전히 셸 기록에 남아 있을 수 있습니다. 이전 할당(예: Ctrlbash 또는 zsh의 +)을 검색해 보세요. R MANPATH=로그인 시 읽는 일부 구성 파일에 환경 변수가 설정되어 있는 경우 다른 터미널에서 셸을 시작하고 거기에서 값을 복사하여 붙여넣으면 됩니다.

관련 정보