본문 바로가기
Server

zsh, bash 그리고 shell script

by DuncanKim 2022. 6. 28.
728x90

zsh, bash 그리고 shell script

 

쉘은 리눅스에서 명령어와 프로그램을 실행할 때 사용하는 인터페이스이다. 커널과 사용자 사이에 위치하면서 사용자로부터 명령을 받아 그것을 해석하고 프로그램을 돌려주는 아주 고마운 친구이다.

 

쉘은 커널에서 분리된 별도의 프로그램이어서 다양한 종류의 쉘이 존재한다. 각각의 쉘 들은 제공하는 기능이 살짝식 다르다.

 

1) bash(배쉬)

리눅스의 표준 쉘이다. 우분투와 페도라도 배쉬 쉘을 사용한다고 한다. sh(Bourne Shell, 유닉스 쉘의 오리지널)을 전신으로 두고 있어서 sh와 호환되어 쓰일 수 있다. 맥 OS X, 그리고 윈도우에도 이식이 되었으며 mac의 경우 최근 기본 제공을 zsh로 하고 있다.

 

배쉬는 프로그래밍 언어이긴 하지만, 유닉스 운영체제의 인터페이스로 기능하는 것이기 때문에 C 계열의 언어나 파이썬 같은 언어와는 차이가 크다. 문법상 오류를 찾아내는 것이 아니라, 작동은 하지만 예상치 못한 틀린 결과를 가져다 주는 등, 컴파일러가 신택스 오류를 찾아주지 않는다.

 

 

2) zsh

철자를 교정해주고 플러그인 프레임워크를 포함하여 자동으로 change directory를 해주는 기능을 가지고 있다. bash와 마찬가지로 sh의 확장 버전이다. 맥의 경우 카탈리나 이후의 운영체제부터 zsh를 터미널에서 쓸 수 있다.

 

 

bash든 zsh든 쉘이다. 커널과 사용자 사이에서 어떤 명령어들을 해석하고 전달해주는 역할을 수행한다.

쉘 스크립트(echo ~~~)를 활용하면 우리는 많은 작업을 자동화할 수 있다.

언제 무엇이 켜지고, 어떤 파일을 열며, 거기에서 어떤 활동을 하고, 종료가 된다음 컴퓨터가 꺼지게 설정을 할 수 있다.

 

여기에서 쓰는 용어들은 아래의 포스팅에서 어느정도 다루었다.

2022.06.28 - [IT 지식/Linux] - [Linux] POSIX CLI 명령어

 

쉘과 zsh, bash가 무엇인지 궁금했다면, zsh, bash가 쉘의 종류이고, 그 안에서 쉘 스크립트로 어떠한 작업을 할 수 있다.

라고 알고 있으면 되겠다.

728x90

댓글