it-swarm-ko.tech

'로그인'과 '대화 형'bash 쉘의 차이점은 무엇입니까?

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

편집 : 이것은 커뮤니티 위키이므로 아마도 투표하기보다는 어떤 상황이 어떤 유형의 $ Shell을 요구하는지에 대한 예를 제공 할 수 있습니다.

시작 스크립트

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

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

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

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

50
Gareth

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

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

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

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

일반적으로 다음과 함께 .bashrc.bash_profile를 포함합니다. 그런 다음 로그인 셸은 모든 사용자 지정 내용을 가져 오며 .bash_profile 파일은 이미 .bashrc에있는 항목을 복제 할 필요가 없습니다.

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