추가 읽기

추가 읽기

나는 bash 내보내기 파일을 구성하고 그들이 속한 환경에 따라 변수를 분류하고 있습니다.

예를 들어 HISTIGNORE, PATH, PS1등은 MANPAGER"Bash 섹션"과 "Man 섹션"에 있습니다.

$EDITOR 및/또는 $VISUAL은 어떤지 궁금합니다. bash 매뉴얼 페이지에서 찾을 수 없는 것 같습니다.

답변1

당신은 그것을 잘못 분류했습니다 PATH. 둘 다 그것에 EDITOR속합니다 .VISUAL

이러한 변수에 대한 아이디어제자리에 있다특정 응용 프로그램에서는 잘못되었습니다. 표준화되어 잠재적으로 사용할 수 있습니다.어느이를 필요로 하는 애플리케이션.

  • 만약에어느실행 가능한 프로그램의 경로를 검색하려는 애플리케이션은 를 사용할 수 있습니다 PATH. (실제로 호출하는 모든 애플리케이션의 경우입니다 execvp().)
  • 만약에어느애플리케이션은 SHELL프로그램 이미지 파일을 찾는 데 사용할 수 있는 셸을 호출하려고 합니다.
  • 만약에어느라인 편집기를 호출하려는 애플리케이션은 EDITOR.
  • 만약에어느비주얼 편집기를 호출하려는 애플리케이션은 VISUAL.
  • 만약에어느호출기를 호출하려는 애플리케이션은 를 사용할 수 있습니다 PAGER.
  • 만약에어느애플리케이션은 홈 디렉토리가 어디에 있는지 알고 싶어하며 HOME.

등.

대조적으로, HISTIGNORE환경 PS1변수가 전혀 필요하지 않습니다. 후자는 표준에서만 언급됩니다(설명은 없지만). 하나할 수 있는세션 리더 프로세스 또는 기타 최상위 상위 프로세스에서 환경 변수로 설정하고 환경 상속을 사용하여 셸에서 이를 가져올 수 있도록 합니다.

하지만 한 사람이 할 수 있는 건대신에그냥 다음과 같이 설정하세요.껍데기환경으로 내보내는 대신 각 쉘(쉘에 따라)에서 자동으로 실행되는 스크립트의 변수입니다. 예를 들면 다음 과 같습니다. 내 ~/.zshrc컬렉션이 있고PS1RPROMPT껍데기변수, 그들은아니요다음으로 내보내기환경변하기 쉬운.

추가 읽기

답변2

man bash다음 두 가지 변수가 언급됩니다 edit-and-execute-command.

현재 명령줄에서 편집기를 호출하고 결과를 셸 명령으로 실행합니다. Bash는 $VISUAL, $EDITOR및 편집기를 순서대로 호출하려고 시도합니다 .emacs

다른 프로그램에서는 이러한 변수를 자주 사용합니다.

관련 정보