본문 바로가기

CS Fundamental

[CS Fundamental] 셸

 

1) 셸이란?

- 셸(shell)은 사용자의 명령을 읽고 적절한 프로그램을 실행하도록 설계된 특수 목적 프로그램이다. 

  이런 프로그램을 때로 명령 인터프리터(command interpreter)라고도 한다.

 

- 로그인 셸(login shell)은 사용자가 처음 로그인했을 때 생성되어 실행되는 프로세스를 말한다.

 

- 명령 인터프리터가 커널의 일부인 운영체제도 있는 반면,

  유닉스 시스템에서 셸은 사용자 프로세스다.

  여러 가지 셸이 존재하고, 같은 컴퓨터상의 다른 사용자가 동시에 다른 셸을 쓸 수 있다.

  시간이 흐르면서 여러 중요한 셸이 등장했다. 

 

- 셸은 대화형 용도뿐만 아니라, 셸 스크립트(shell scripts)도 해석하도록 설계됐다.

  셸 스크립트는 셸 명령을 포함하고 있는 텍스트 파일이다.

  이를 위해 각 셸에는 보통 변수, 루프와 조건문, I/O 명령, 함수 등

  프로그래밍 언어를 연상케 하는 기능이 포함되어 있다.

 

- 각 셸의 문법은 다르지만 하는 일은 비슷하다.

  특정 셸의 동작을 말하지 않는 한, 방금 말한 것처럼 동작하는 모든 셸을 통틀어 

  '셸'이라고 부른다.

 

- 셸은 특별히 명시하지 않는 한 'bash'를 사용하지만,

  그 밖의 sh류 셸에서도 똑같이 동작할 것이다.