맺음말
GUI ( Graphical User Interface ) 가 기본인 요즘 같은 시대에 CLI ( Command Line Interface ) 인 Shell 의 중요성이 줄어든 감은 있지만 GUI 의 대명사인 Microsoft 에서조차도 새로운 shell 을 만들고, bash 를 지원하는 것을 보면 앞으로도 CLI 는 없어지지 않을 것 같습니다.
이것은 GUI 로 하기 편한 작업이 있는가 하면 CLI 로 하는 것이 편한 작업이 있기 때문입니다. Linux 에 가려서 빛을 보지 못한 현대판 UNIX 라 할 수 있는 진보적인 운영체제인 Plan9 에서도 기본적으로 GUI 에서 CLI 을 사용합니다. 이렇듯 CLI 는 시대에 따라 변하기는 하겠지만 없어지지 않고 지속적으로 사용될 것입니다.
쉘 스크립트를 작성하는 주된 목적은 프롬프트 상에서 여러 명령을 단계적으로 실행하여 완성하는 작업을 하나의 파일에 두어 일괄처리하는데 있습니다. 쉘 스크립트 자체 기능을 이용해 데이터파일을 처리하는 것은 스크립트 목적에도 맞지 않고 일반적으로 awk 같은 전용 툴에 비해 속도도 느립니다.
스크립트를 작성할 때 너무 최적화에 신경을 쓰는 것도 좋지 않다고 생각합니다. 실행되는 해당 명령이 빨리 실행되는 것이 중요한 것이지 쉘 스크립트 자체가 빨리 실행되는 게 중요한 경우는 많지 않기 때문입니다.
sh
은bash
에 비해 기능도 적지만 아직도 스크립트를 작성하는데 주로 사용됩니다. 이것은sh
이 가진 기능 만으로도 충분히 쉘 스크립트의 목적을 달성할 수 있기 때문입니다. 또한 특정 명령에서 shell 을 이용해 외부 명령을 실행시킬 때bash
보다는sh
을 사용하므로sh
을 사용하는 방법도 함께 알아두어야겠습니다.
프로그래밍을 잘하기 위해서는 프로그래밍 언어의 문법도 잘 알아야 하겠지만 결국에는 언어에서 사용할 수 있는 함수나 라이브러리, 클래스를 많이 알고 잘 사용할 수 있어야 합니다. 쉘 스크립트도 마찬가지로 스크립트를 잘 작성하기 위해서는 /bin, /usr/bin 디렉토리에 있는 많은 유용한 명령들을 알고 잘 사용할 수 있어야 하겠습니다. "Bash shell script 가이드" 는 프로그래밍 언어의 문법에 해당한다고 할 수 있습니다. 본서를 통해서 쉘 스크립트를 직접 작성할 때뿐만 아니라 많은 프로그래머 들이 작성한 스크립트를 읽고, 해석하는데 도움이 되길 기대합니다.