🟢 Shell의 종류
cat /etc/shells
🟢 로그인쉘과 서브쉘
◾ 로그인 쉘 (login Shell)
리눅스를 로그인 할 때, 사용자를 선택하고 알맞게 패스워드를 입력하면 짠! 하고 로그인이 되지만 사실 그 뒤에는 여러가지 일들, 정확히 말하자면 여러 쉘 스크립트 파일(.sh)이 실행됩니다. 그렇다면 그 쉘 스크립트 파일은 혼자 돌아가는 것일까요? 아니죠! 일처리는 Shell이 한다고 했으니 쉘 스크립트 파일이 실행되려면 Shell이 필요합니다.
이제 로그인 쉘에 대해 정확한 느낌이 오실 것 같습니다. 로그인 쉘이란 로그인 처리에 필요한 파일들을 실행하는 Shell을 의미하게 되겠죠!
추가로 로그인이 실행하는 여러 쉘 스크립트 파일은 대부분 사용자 환경의 초기 세팅을 지정합니다. 그 과정에서 터미널에서 기본적으로 쓰게 되는 쉘 또한 로그인 쉘을 담당하는 쉘로 지정되게 됩니다.
◾서브 쉘 (sub Shell or non-login Shell)
그렇다면 서브 쉘이란 무엇일까요? 앞서 로그인 쉘은 사용자의 로그인을 처리해주는 쉘이며, 초기화 과정을 통해 터미널 기본 쉘로 지정된다고 했었습니다. 서브쉘은 기본 쉘 위에서 추가로 실행되는 쉘을 의미합니다. 서브쉘의 예를 몇가지 보겠습니다.
위의 사진은 기본 쉘인 bash Shell에서 sh Shell을 추가로 실행시킨 것입니다. 두 번째 줄에 $ 가 있는 것으로 보아 sh Shell이 명령을 기다리고 있는 것 같습니다.
위의 사진은 현재 계정에서 user1 이라는 계정으로 바꾸기 위한 명령어를 보여주고 있습니다. 이 과정 또한 로그인 과정이기 때문에 로그인 쉘(현재는 bash Shell)이 이 과정을 처리하기 위해 서브쉘로서 실행됩니다. 즉, 로그인 쉘 또한 서브 쉘로 등장할 수 있다는 이야기죠!
💡 서브 쉘의 특징
기본 쉘과 그 위에 실행된 서브 쉘은 어떤 면에서 부모-자식의 관계라고 볼 수 있습니다. 서브 쉘은 상위 쉘의 환경변수 를 사용할 수 있습니다.
'리눅스 관련' 카테고리의 다른 글
Cent OS 7 에서의 6. Maven + Tomcat 배포 환경 셋팅 (0) | 2021.12.22 |
---|---|
Cent OS 7 - Tomcat9 manager gui 활성화 시키기 (0) | 2021.12.22 |
리눅스에서의 톰캣 실행 및 중지, 재실행 방법 (0) | 2021.12.04 |
CentOS 7 에서 톰캣(Tomcat) 9 설치 방법. (0) | 2021.12.04 |