‘로그인’과 ‘대화 형’bash 쉘의 차이점은 무엇입니까? 호출 될

‘로그인’과 ‘대화 형’bash 쉘의 차이점은 무엇입니까? 아래에서 Wikipedia를 인용했지만 더 나은 답변을 줄 수 있습니까?

편집 : 이것은 커뮤니티 위키이므로 닫으려고 투표하기보다는 어떤 상황이 어떤 유형의 $ SHELL인지에 대한 예를 제공 할 수 있습니다.

시작 스크립트

Bash가 시작되면 다양한 스크립트로 명령을 실행합니다.

Bash는 대화식 로그인 쉘로 호출 될 때 파일이 존재하는 경우 먼저 / etc / profile 파일에서 명령을 읽고 실행합니다. 해당 파일을 읽은 후 ~ / .bash_profile, ~ / .bash_login 및 ~ / .profile을 순서대로 찾아서 존재하고 읽을 수있는 첫 번째 명령을 읽고 실행합니다.

로그인 쉘이 종료되면 Bash는 ~ / .bash_logout 파일 (있는 경우)에서 명령을 읽고 실행합니다.

로그인 쉘이 아닌 대화식 쉘이 시작될 때 Bash는 ~ / .bashrc에서 해당 파일이있는 경우 명령을 읽고 실행합니다. –norc 옵션을 사용하여이를 방지 할 수 있습니다. –rcfile 파일 옵션은 Bash가 ~ / .bashrc 대신 파일에서 명령을 읽고 실행하도록합니다.



답변

로그인 쉘의 프로파일 파일에서 세션 중에 사용할 항목을 설정할 수 있으며 한 번만 수행하면됩니다. 몇 가지 아이디어 :

  • 연결 한 IP 주소를 포함하는 임시 파일을 작성하십시오. 나중에 방화벽 규칙을 설정하는 일부 스크립트에 포함 할 수 있습니다.
  • ssh-agent를 실행하고 SSH 키를 요청하고 SSH 에이전트 환경 변수를 파일에 저장하십시오.
  • 그것이 제한된 컴퓨터이고 동료가 서로의 로그인을 알고 싶다면, 로그인을 알리는 메시지를 작성하십시오 (1).

비 로그인 쉘 파일 ( .bashrc)에서 쉘을 구성해야합니다.

  • 멋진 프롬프트
  • 별명 설정
  • 기록 옵션 설정
  • 커스텀 쉘 함수 정의
  • 환경 변수 내보내기 (시스템 전체 설정이 빠지면 PAGER, EDITOR 일 수 있음)
  • 저장된 ssh-agent 변수로드 .bash_profile

일반적으로, 당신은 포함됩니다 .bashrc에서 .bash_profile다음에. 그런 다음 로그인 셸은 모든 사용자 지정 내용을 가져오고 .bash_profile파일에 이미있는 내용을 복제 할 필요가 없습니다 .bashrc.

[[ -f ~/.bashrc ]] && . ~/.bashrc


답변