오늘 내 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=
로그인 시 읽는 일부 구성 파일에 환경 변수가 설정되어 있는 경우 다른 터미널에서 셸을 시작하고 거기에서 값을 복사하여 붙여넣으면 됩니다.