내가 봤을 때 man bash
이들 중 어느 것도 정의되어 있지 않았습니다. 그러나 온라인에서 무작위로 언급되는 게시물은 어디에서 왔습니까? 아니면 단지 컨벤션일까요?
답변1
그것들은 다른 것과 마찬가지로 단지 관습일 뿐입니다. 표준에서는 너무 널리 사용되기 때문에 사용하는 것이 현명하지 못한 충돌하는 변수에 속하는 것으로 언급됩니다 EDITOR
. PAGER
바라보다제8장 제1절:
널리 사용되는 명령 해석기 및 응용 프로그램에서 자주 내보내는 특정 변수와 충돌하는 것은 현명하지 않습니다.
... EDITOR ... PAGER ... VISUAL ...
다양한 프로그램은 이들의 다양한 조합을 존중합니다.
man 1 crontab
(POSIX):
The following environment variables shall affect the execution of
crontab:
EDITOR Determine the editor to be invoked when the -e option is
specified. The default editor shall be vi.
2. The editor specified by the policy is run to edit the
temporary files. The sudoers policy uses the
SUDO_EDITOR, VISUAL and EDITOR environment variables (in
that order). If none of SUDO_EDITOR, VISUAL or EDITOR
are set, the first program listed in the editor
sudoers(5) option is used.
man 1 man
(POSIX):
ENVIRONMENT VARIABLES
The following environment variables shall affect the execution of man:
...
PAGER Determine an output filtering command for writing the output to
a terminal. Any string acceptable as a command_string operand to
the sh -c command shall be valid. When standard output is a
terminal device, the reference page output shall be piped
through the command. If the PAGER variable is null or not set,
the command shall be either more or another paginator utility
documented in the system documentation.
매뉴얼에 언급되지 않은 것은 놀라운 일이 아닙니다 bash
. 왜냐하면 제가 생각할 수 있는 bash 내장 기능 중 어느 것도 사용할 수 없기 때문입니다. 그러나 그들은 다른 유틸리티에서 널리 사용됩니다. 이 세 가지는 단지나일반적으로 사용되는.
이 변수 BROWSER
는 또는 같은 수준에 있지 않습니다. 이 변수는 표준에 언급되지 않습니다. 그러나 다음과 같은 일부 프로그램에서는 이를 사용할 수 있습니다.EDITOR
PAGER
man
man 1 man
(데비안):
BROWSER
If $BROWSER is set, its value is a colon-delimited list of com-
mands, each of which in turn is used to try to start a web
browser for man --html. In each command, %s is replaced by a
filename containing the HTML output from groff, %% is replaced
by a single percent sign (%), and %c is replaced by a colon (:).
답변2
이 관행은 제가 기억하는 한 30년 넘게 계속되어 왔습니다.
이것BSD 4.2 메일 매뉴얼 페이지1983 년 4월 1일에 언급됨 EDITOR
,,, SHELL
.VISUAL
PAGER
"man"의 BSD 4.2 버전은 다음을 언급하지 않습니다:
표준 출력이 텔레타이프이거나 - 플래그가 주어지면 man은 출력을 cat(1)을 통해 전송합니다.
하지만 1990년경 4.3 리노에 등장했다.