기본값을 재정의하지 않고 MANPATH를 설정하는 방법은 무엇입니까?


14

$PATH내보내기 하여 추가 디렉토리를 추가 PATH=/my/dirs:$PATH 했지만에 대해 동일한 작업을 수행해야하는지 잘 모르겠습니다 MANPATH. 기본값 MANPATH은 비어 있기 때문에 man명령이 작동합니다. 나는라는 명령을 찾았고 manpath매뉴얼은 말합니다 If $MANPATH is set, manpath will simply display its contents and issue a warning.. MANPATH를 설정하는 것이 man수동 페이지를 검색하는 명령에 대한 디렉토리를 추가하는 올바른 방법이 아닙니까?

답변:


20

단순히 MANPATH를 설정하면 기본값이 무시되고 표준 매뉴얼 페이지에 액세스 할 수 없게됩니다. 예를 들어, man lsMANPATH를 설정하기 전에 작동하지만 나중에 작동하지 않습니다.

기본값을 재정의하지 않고 검색 디렉토리를 추가하려면 다음과 같이 MANPATH 앞에 콜론을 추가하십시오.

export MANPATH=":/path/to/custom/man"

콜론을 추가하면 표준 시스템 매뉴얼 페이지와 MANPATH 변수에서 참조 된 사용자 정의 페이지 모두에 액세스 할 수 있습니다.

이 답변은 manpath (1)에 의해 제공되었습니다 .

$ MANPATH가 설정되면 manpath는 값을 즉시 결정하지 않고 값을 표시합니다. $ MANPATH 앞에 콜론이 있으면 변수 값이 구성 파일의 내용에서 결정된 목록에 추가됩니다. 콜론이 변수 값의 끝에 오면 결정된 목록이 변수의 내용에 추가됩니다. 변수 값에 이중 콜론 (: :)이 포함되어 있으면 결정된 목록이 값 중간에 두 콜론 사이에 삽입됩니다.


1

IMO PATH 끝에 사용자 정의 디렉토리를 추가해야합니다

PATH=$PATH:/my/dirs

이것은 사용자 정의 디렉토리가 시스템 바이너리 / libs를 초과하지 않기 때문에 사소한 보안 문제입니다.

MANPATH를 같은 방식으로 설정합니다 (MANPATH는 기본적으로 비어 있음).

MANPATH=$MANTPATH:/my/dirs

잘 동작하는 패키지로 MANPATH를 설정할 필요가 없으므로, 깨지지 않았 으면 고치지 말고 깨지더라도 버그 보고서를 작성하는 것이 좋습니다.)

이것을 ~ / .bashrc에 추가하십시오

export PATH=$PATH:/my/dirs
export MANPATH=$MANPATH:/my/dirs

두 번째 진술에서 오타? MANPATH=$MANTPATH:/my/dirs 아마해야한다 :MANPATH=$MANPATH:/my/dirs
kevinarpe

"잘 동작하는 패키지"란 무엇을 의미합니까? 일반적인 장소에 설치되지 않은 전체 도구 세트가 있습니다 (HPC 클러스터는 종종 / opt에 물건을 넣습니다). $ MANPATH를 사용하지 않고 매뉴얼 페이지를 어떻게 등록해야합니까?
i_grok

"잘 작동하는 패키지"는 표준 경로 및 환경 변수를 사용하도록 작성되었습니다. 제대로 작동하지 않는 패키지는 비표준, 적어도 우분투에서 / opt와 같은 경로를 사용하거나 환경 변수를 사용하지 않으므로 관찰 결과로 이어질 수 있습니다. 것들 / opt) "
Panther
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.