쉘의 역할
- 사용자 인터페이스: 쉘은 사용자가 시스템과 상호 작용할 수 있는 인터페이스를 제공합니다.
- system call 을 안전하고 즉각적으로 처리 해준다.
Interatctive Shell
: 스크립트를 짜고 그걸 실행해달라고 하면 실행해준다.
- 대화형 명령 프롬프트 : 입력과 실행이 바로 된다.
- 요즘에는 Comman aliasing , 최근 명령 수정, 취소도 가능하다.
Shell as Programming Environment
- Variables, Conditionals Loops, Procedures, Exceptions 포함
- 일반적으로 “Shell programs” 는 외부 프로그램과의 조합이다.
단어 (Words)
- shell 은 input 을 공백 문자를 기준으로 쪼개서 단어로 본다.
- shell 에서 모든 것은 string 이다.
- 자신이 해석할수 있는 만큼 나누고 실행한다.
- ‘, “. \ 를 사용하여 공백 문자를 포함하는 단어를 표현할 수 있습니다.
문장 (Statements)
- 정의: 쉘은 문장을 해석하고 실행합니다.
- 문장은 : newline, ; , $ 이걸로 끝난다.
- 문장을 파악한뒤 문장의 종류를 정한다:
- 변수 할당
- 내장 명령어
- 제어문 (if, while 등)
- 외부 프로그램 실행
내장 명령어 (Builtin Commands)
- 정의: 쉘 자체에 내장되어 있는 명령어입니다.
- 목적: 효율성 향상, 쉘 내부 상태 변경, 제어 흐름 구현 등 다양한 목적으로 사용됩니다.