콘텐츠로 이동

Rocky와 함께 배우는 Bash

이 섹션에서는 모든 관리자가 언젠가는 수행해야 할 Bash 스크립팅에 대해 더 많이 배우게 될 것입니다.

개요

셸은 Linux의 명령 해석기입니다. 이것은 커널의 일부가 아닌 추가적인 레이어를 형성하는 이진 파일이므로 "shell"이라는 이름을 갖게 되었습니다.

셸은 사용자가 입력한 명령을 구문 분석하고 시스템에서 실행합니다.

여러 가지 셸이 있으며, 모두 일부 공통 기능을 공유합니다. 사용자는 자신에게 가장 적합한 셸을 선택하여 사용할 수 있습니다. 일부 예시는 다음과 같습니다:

  • Bourne-Again 셸 (bash)
  • Korn 셸 (ksh)
  • C 셸 (csh)
  • etc.

bash는 대부분의 (혹은 모든) Linux 배포판에 기본적으로 포함되어 있습니다. 이의 특징은 실용적이고 사용자 친화적인 기능을 한다는 것입니다.

셸은 일부 전용 명령 덕분에 다음을 허용하는 기본 프로그래밍 언어이기도 합니다.

  • 변수 사용,
  • 명령의 조건부 실행,
  • 명령의 반복.

셸 스크립트는 추가 명령을 컴파일하거나 설치하지 않고도 빠르고 안정적으로 만들 수 있다는 장점이 있습니다. 셸 스크립트는 볼드체, 이탤릭체 등의 꾸밈 없이 텍스트 파일로 이루어져 있습니다.

참고사항

셸은 "기본적인" 프로그래밍 언어이지만, 여전히 매우 강력하며 때로는 잘못된 컴파일된 코드보다 빠를 수도 있습니다.

셸 스크립트를 작성하기 위해서는 필요한 모든 명령을 단일 텍스트 파일에 넣기만 하면 됩니다. 이 파일을 실행 가능하게 만들면 셸은 파일을 순차적으로 읽고 그 안에 있는 명령을 하나씩 실행합니다. 또한 bash 이진 파일에 스크립트의 이름을 인수로 전달하여 실행할 수도 있습니다.

셸에서 오류가 발생하면 문제를 식별하기 위한 메시지를 표시하지만 스크립트의 실행을 계속합니다. 그러나 오류가 발생했을 때 스크립트의 실행을 중지시킬 수 있는 메커니즘도 있습니다. 특정 명령의 오류는 화면이나 파일 안에 표시됩니다.

어떤 스크립트가 좋은 스크립트인가요? 다음과 같은 특징을 갖춘 스크립트입니다:

  • 신뢰성: 사용자의 오용에도 불구하고 오류없이 정상 동작함.
  • 주석 처리: 코드에 주석이 달려 있어 다시 읽고 향후 발전을 용이하게 함.
  • 가독성: 코드가 적절하게 들여쓰기되어 있고 명령들이 간격을 두고 있음. ...
  • 이식성: 코드가 모든 Linux 시스템에서 실행되며, 종속성 관리, 권한 관리 등이 함께 고려됨.

Author: Antoine Le Morvan

Contributors: Steven Spencer