본문 바로가기

IT공부

[지식루프의 IT공부] shell은 컴파일러일까 인터프리터일까?

728x90
반응형

쉘(Shell)은 인터프리터입니다.

이유:

  • 은 사용자가 입력한 명령어를 한 줄씩 읽고 바로 실행합니다.
  • 명령어를 실행할 때마다 소스 코드를 모두 컴파일하지 않고, 명령어를 해석하고 실행하는 방식입니다.

주요 특징:

  • 실시간 명령 실행: 사용자가 입력한 명령어를 해석하고 즉시 실행합니다.
  • 대화형 환경: 터미널에서 명령어를 직접 입력하고 결과를 바로 확인할 수 있습니다.
  • 스크립트 실행: 쉘 스크립트 파일(.sh)을 작성하면, 파일 내의 명령어를 위에서 아래로 한 줄씩 해석하여 실행합니다.

반대로 컴파일러는:

  • 프로그램의 소스 코드를 한 번에 모두 컴파일하여 기계어로 변환한 후 실행 파일을 생성합니다.
  • 실행 전에 전체 코드를 분석하고 변환하기 때문에 쉘과는 다른 방식입니다.

예시:

  • bash, zsh, sh 등은 모두 쉘 인터프리터입니다.
  • gcc, clang 등은 C/C++ 언어의 컴파일러입니다.

따라서, 쉘은 인터프리터로 분류됩니다.

 

컴파일러와 인터프리터 비교

728x90
반응형