Coding

[Shell] 쉘, 프로그래밍.

ted0505 2022. 9. 20. 17:32

깃허브 1일 1커밋 잔디심기를 습관화하는 중이다. 하지만, 불가피한 일로 커밋하지 못하는 날도 있기 때문에 이런 상황을 대처할 수 있도록 깃허브 커밋 자동화를 찾게 되었다. 쉘 스크립트로 만들 수 있다고 하고, 만들기 전 쉘에 대한 이해부터 짚고 넘어가려한다.

 

그럼 알아보자

🐚 Shell 은 무엇인가

  • 운영 체제 상에서 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램이다.
    • 쉘은 껍데기를 의미하며, 사용자의 응용프로그램과 운영 체제 커널 사이의 인터페이스를 감싸는 층이기 때문에 이러한 이름을 가졌다고 한다.
    • 작동원리 : 쉘 프로그램을 통해 명령어를 입력하면 쉘이 해석하여 커널에게 보낸다. 이에 커널은 해당하는 동작을 하고, 그에 대한 결과를 다시 사용자에게 보여주고자 쉘에 응답을 보낸다.

터미널

👋 Shell 종류 

쉘은 명령 줄 인터페이스(CLI)그래픽 쉘 인터페이스(GUI) 두 가지로 나눌 수 있다.

명령 줄 인터페이스(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는 개행이 되지 않는다.

 

 

참고한 글 

https://reakwon.tistory.com/136