Coding
[Shell] 쉘, 프로그래밍.
ted0505
2022. 9. 20. 17:32
깃허브 1일 1커밋 잔디심기를 습관화하는 중이다. 하지만, 불가피한 일로 커밋하지 못하는 날도 있기 때문에 이런 상황을 대처할 수 있도록 깃허브 커밋 자동화를 찾게 되었다. 쉘 스크립트로 만들 수 있다고 하고, 만들기 전 쉘에 대한 이해부터 짚고 넘어가려한다.
그럼 알아보자
🐚 Shell 은 무엇인가
- 운영 체제 상에서 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램이다.
- 쉘은 껍데기를 의미하며, 사용자의 응용프로그램과 운영 체제 커널 사이의 인터페이스를 감싸는 층이기 때문에 이러한 이름을 가졌다고 한다.
- 작동원리 : 쉘 프로그램을 통해 명령어를 입력하면 쉘이 해석하여 커널에게 보낸다. 이에 커널은 해당하는 동작을 하고, 그에 대한 결과를 다시 사용자에게 보여주고자 쉘에 응답을 보낸다.
👋 Shell 종류
쉘은 명령 줄 인터페이스(CLI)과 그래픽 쉘 인터페이스(GUI) 두 가지로 나눌 수 있다.
## 그래픽 쉘 종류
- 윈도우 탐색기 (폴더)
- 매킨토시 파인더
## 명령 줄 쉘 종류
- Bourne Shell (/bin/sh)
- 최초의 쉘이며, 기본 쉘로 오랫동안 인기를 누렸다.
- Bash, Bourne Again Shell (/bin/bash)
- 본 쉘을 대체하는 쉘이며, 리눅스, 맥 OS 등 다양한 운영 체제의 기본 쉘로 탑재되어 광범위하게 사용되고 있다.
- C shell (/bin/csh)
- 본 쉘보다 강력하고 사용하기 쉬운 쉘이며, C 언어 기반으로 작성할 수 있다.
- Kornshell, ksh
- 콘 쉘은 본 쉘과 하위호환되며, C 쉘의 수많은 기능을 포함한다.
- Z shell, zsh
- 유닉스 쉘이고, 로그인 쉘이다.
🤔 그렇다면, 이 Shell 로 어떤 걸 할 수 있을까 ?
매번 해야하는 일을 효율적으로 처리하기 위해 자동화 작업으로 만들 수 있다. 쉘 스크립트로 작성하여 파일을 실행하면 자동화 작업이 진행된다.
👇 Shell 에서 사용하는 명령어
echo $SHELL => 사용자의 쉘 환경을 확인 할 수 있다. |
#!/bin/bash => 스크립트 최상단에 이 구문이 항상 적혀있어야한다. |
echo "hello, world" printf "hello, world" => 두 구문 다 출력하는 구문이다. 하지만 echo는 개행이 되지만, printf는 개행이 되지 않는다. |
참고한 글