로그인 셸과 대화형 셸의 차이점은 무엇입니까?
의 개요login shell
그리고.interactive shell
그리고 무엇이.bash_profile
그리고..bashrc
?
대화형 셸은 -s가 지정되지 않은 경우, -c 옵션을 지정하지 않은 경우, 비옵션 인수 없이 시작된 셸이며, 입력 및 오류 출력이 모두 터미널에 연결된 경우(isatty(3)에 의해 결정됨) 또는 -i 옵션으로 시작된 셸입니다.
대화형 셸은 일반적으로 사용자의 단말기에서 읽고 씁니다.
[bash manual]
로그인 셸은 로그인하는 셸입니다.에서 로그인 셸을 인식할 수 있습니다.ps -f
목록에는 프로그램 이름의 시작 부분에 하이픈이 있습니다. 예:
root 3561 3553 0 09:38 pts/0 00:00:00 -bash
qa 7327 3432 0 10:46 pts/1 00:00:00 -bash
대화형 셸은 일반적으로 터미널인 표준 입력에서 명령을 읽는 셸입니다.
예를들면,
- xterm 또는 터미널 에뮬레이터를 사용하여 bash에 로그인하는 경우
putty
그러면 세션이 로그인 셸이자 대화형 셸입니다. - 입력할 경우
bash
그런 다음 대화형 셸을 입력하지만 로그인 셸이 아닙니다.
셸 스크립트(셸 명령이 포함된 파일)가 실행되면 로그인 셸도 대화형 셸도 아닙니다.
시작 파일은 bash에서 매우 조정 가능합니다.
로그인 bash 셸이 호출되면/etc/profile
소스됨(현재 환경에서 사용됨).그런 다음 세 개의 파일이 존재하는지 확인합니다.이러한 파일에 대한 검사는 이 순서대로 수행되며, 가장 먼저 존재하는 파일이 실행됩니다.
/etc/profile
~/.bash_profile
~/.bash_login
~/.profile
일치하는 파일이 발견되면 다른 파일이 존재하더라도 무시됩니다.그/etc/bashrc
파일은 둘 다에 의해 사용될 수 있습니다.~/.bash_profile
그리고~/.bashrc
파일입니다. 그 말은 즉,/etc/bashrc
파일은 로그인 셸이든 비로그인 셸이든 bash의 모든 대화형 호출에서 소스됩니다.
그래서 그..bashrc
또한 새 대화형 셸을 요청할 때마다 파일이 실행됩니다.여기에는 셸 스크립트가 포함되지 않습니다.일반적으로 변수, 별칭 또는 함수는 이 파일에 배치됩니다.
적절한 지침이 있으면 Bash 셸 스크립트가 다른 파일을 읽습니다.사용자가 정의하는 경우(일반적으로 사용자 자신).bash_profile
변수BASH_ENV
파일 이름이 포함되어 있으면 스크립트가 이 파일을 읽습니다.이 변수가 설정되지 않은 경우(내보내기) bash 스크립트는 시작 파일을 읽지 않습니다.
"셸"이 무엇인지 알고 있으며 이를 사용하고 있기 때문에 질문은 로그인 셸과 다른 모든 것의 차이만을 대상으로 합니다.
로그인 셸은 시작할 때 하나 이상의 초기 설정 스크립트(리소스)가 로드되며 일반적으로 이름에 "profile"이 지정되어 있다는 점에서만 다른 셸과 다릅니다.기본 설정은 이후에 열린 셸에 대해 파생되므로 한 번만 정의하면 됩니다.
언급URL : https://stackoverflow.com/questions/18186929/what-are-the-differences-between-a-login-shell-and-interactive-shell
'programing' 카테고리의 다른 글
서로 다른 RHEL 호스트에서 생성된 MariaDB 시간대 정보 SQL 파일 간의 차이 (0) | 2023.06.10 |
---|---|
iPhone UI 텍스트 필드에 "지우기" 단추 추가 (0) | 2023.06.10 |
Angular2 예외:알려진 기본 속성이 아니므로 'ngStyle'에 바인딩할 수 없습니다. (0) | 2023.06.10 |
반복기 머리글 또는 바닥글에서 컨트롤을 찾는 방법 (0) | 2023.06.10 |
Active Directory를 사용하는 .NET의 사용자 그룹 및 역할 관리 (0) | 2023.06.10 |