"모든 대화형 쉘"이란 무엇을 의미합니까?

"모든 대화형 쉘"이란 무엇을 의미합니까?

입력하면 man bash볼 수 있습니다.

FILES
       /bin/bash
              The bash executable
       /etc/profile
              The systemwide initialization file, executed for login shells
       /etc/bash.bashrc
              The systemwide per-interactive-shell startup file
       /etc/bash.bash.logout
              The systemwide login shell cleanup file, executed when a login shell exits
       ~/.bash_profile
              The personal initialization file, executed for login shells
       ~/.bashrc
              The individual per-interactive-shell startup file
       ~/.bash_logout
              The individual login shell cleanup file, executed when a login shell exits
       ~/.inputrc
              Individual readline initialization file

"대화형 쉘별"은 무엇을 의미합니까? 특히 여기서 "당"은 무엇을 의미합니까? 여기서 "per"는 "모든"을 의미합니까? 모든 대화형 쉘? 아니면 다른 뜻인가요?

"각 대화형 셸에 대한 별도의 시작 파일"은 "각 대화식 셸에 대한 별도의 시작 파일"을 의미합니까?

답변1

bashrc파일은 각 개별 대화형 셸을 초기화하는 데 사용됩니다.

로그인 쉘에도 똑같은 상황이 존재하기 때문에(다른 파일에도 불구하고) "per-" 접두사가 실제로 여기서 필요한 이유가 무엇인지 잘 모르겠습니다. 추가적으로, 비대화형 쉘은 $BASH_ENV경로명이 들어 있는 파일, 즉 " $BASH_ENV모든 비대화형 쉘의 시작 파일"(원하는 경우)을 사용합니다.

이는 (어떤 이유로든) 해당 문서의 실제 출처를 강조하려는 시도일 수 있습니다.대화형 쉘.

이 표현은 bash버전 2.0에서 도입되었습니다.

답변2

여기에는 두 가지가 있습니다. 첫 번째는 간단합니다.

"개인"은 "개인"의 또 다른 단어입니다. 이는 (이 경우) 사용자 계정의 홈 디렉터리에 있는 파일을 의미합니다. 실제로 ~/모든 개인/개인 파일의 접두어에 주의하시기 바랍니다.

데스크톱 시스템(예: 가정용 컴퓨터)에는 일반적으로 하나의 사용자 계정만 있지만 서버 시스템에서는 여러 계정을 등록할 수 있으며 각 계정에는 자체 홈 디렉토리가 있으므로 개인/개인 등 .bash_profile.bashrc있습니다.


이제 어려운 문제가 발생합니다. 이를 설명하기 위해 간단한 서문이 필요합니다.

Bash는 "로그인"대화형 쉘 및"다른zsh"대화형 셸. ( 또는 같은 다른 프로그램에 대한 경험은 없지만 ksh아마 그럴 것 같습니다.)

예를 들어 Linux 시스템의 경우로그인쉘은 일반적으로 (올바른) 사용자 이름과 비밀번호를 입력한 후 시작하는 첫 번째 쉘입니다.텍스트 콘솔또는 SSH와 같은 네트워크를 통해 연결하세요.

반대로 "다른대화형 셸은 일반적으로 터미널 에뮬레이터 응용 프로그램의 아이콘을 클릭할 때 그래픽 데스크탑에서 실행되는 셸입니다.

"다른”(즉, 비로그인) 대화형 셸은 이후에 중첩된 대화형 셸을 호출할 때도 사용됩니다.로그인하나.

후자 상황의 실제 예입니다. 자신을 인증한 후 첫 번째 쉘 프롬프트에 나타난다고 가정합니다(예:로그인) SSH를 통해 원격 시스템으로: 이것은로그인대화형 셸이지만 입력 bash하고 Return 키를 누르면 새 셸이 시작됩니다.다른대화형 쉘. 원하는 만큼 중첩할 수 있습니다. 단지, exit시작한 중첩된 대화형 셸 스택을 확장하려면 각 명령에 대해 입력(또는 Ctrl-D) 하면 됩니다 .

Bash의 문서는 시작 시 자동으로 실행되는 파일을 알려줍니다.로그인시작 시 쉘 및 기타 파일다른껍데기. 종료할 때만 자동으로 실행되는 파일도 있습니다.로그인쉘이지만 종료할 때는 그렇지 않음다른껍데기.

관련 정보