Introduction

프로그래밍 언어의 경우 문법과 스팩이 존재하기 때문에 처음에 학습방향을 정하기가 어렵지 않은데요. 하지만 shell 의 경우는 처음에는 단순히 운영체제에 명령을 전달하는 역할을 하다가 필요에 따라 기능이 하나둘씩 추가되는 과정을 거치기 때문에 체계적으로 학습하는데 어려움이 있는 것이 사실입니다.

Unix 에 shell 이 처음 등장했을 때는 단순히 사용자에게 명령을 입력받아 실행시키는 interactive interpreter 에 불과했습니다. 그후에 script 기능이 추가되고 command history, alias, tab completion, extended scripting syntax 가 추가됩니다.

shell 의 기본적인 기능은 명령을 실행시키는 것입니다. 그러므로 script 기능은 부가적인 기능으로 볼 수 있습니다. script 에서 사용되는 if, else 문 for, while 문을 보면 프로그래밍 언어를 보는것 같지만 사실은 script 기능을 위해 shell 에 추가된 키워드에 불과합니다.

shell script 에서는 보통 프로그래밍 언어에서처럼 코드를 작성할 수 없습니다. 물론 shell 에서도 script 실행시에 메타문자, 키워드, 특수표현식을 자체적으로 해석하지만 기본적으로 명령문을 작성하는 기준에 맞지 않으면 오류가 발생합니다. 이와같은 shell 이 가지는 특수한 환경을 인지하고 있어야 왜 공백 하나 때문에 아무 문제없는 코드에서 오류가 나는지 알수가 있습니다.

Ubuntu Linux 에서 Bash version 5.? 를 이용하여 설명하였습니다.

필요에 따라 수시로 업데이트 되므로 파일을 다운로드하는 것보다는 웹에서 보는 것이 좋습니다.
흰색 바탕이 너무 밝을 경우 좌측 상단에 보면 어두운 바탕으로 테마를 변경할 수 있습니다.
( 참고로 페이지는 Night 모드에서 작성하였습니다. )