프로그래밍/Bash

    [bash 쉘 스크립트] 변수 할당(assignment)과 치환(substitution)

    개요 안녕하세요 피터입니다. 오늘은 Bash 쉘 스크립트에서 사용되는 변수(variable)에 대해서 설명드리겠습니다. 변수는 모든 프로그래밍 언어와 스크립트 언어에서 핵심적인 기능을 합니다. 데이터를 조작하기 위한 연산이나 문자열을 파싱(parsing)하는데 있어서 없어서는 안될 꼭 필요한 존재입니다. 변수는 단지 데이터를 담고 있는 메모리상의 위치를 나타내는데 어떤 변수에 어떤 데이터가 담겨있는지 쉽게 알 수 있게 이름을 붙여놓은 것입니다. 변수 할당(assignment) 데이터를 담는 공간인 변수를 사용하려면 먼저 변수를 할당(assignment) 해야 합니다. 변수는 할당 연산자 = 를 사용해서 할당합니다. a=100 b="hello" 주의 해야 할 것은 할당 연산자 앞뒤로 공백이 없어야 한다는 ..

    [bash 쉘 스크립트] 종료(exit)와 종료 상태 (exit status)

    개요 안녕하세요 피터입니다. 오늘은 Bash 쉘에서 프로그램을 종료(exit) 하는 방법과 종료 상태(exit status)를 얻는 방법에 대해 설명드리겠습니다. 종료 상태는 리턴값(return value, return status)이라고 부르기도 하는데 이전에 수행했던 명령어나 프로그램이 종료 될 때 넘겨주는 값을 의미하기도 해서 그렇습니다. 종료 상태 또는 반환값이 중요한 이유는 쉘 스크립트를 작성하는데 있어서 특정 명령어의 성공 여부에 따라 분기해야 하는 경우 이전 명령어가 정상적으로 수행되었는지 아는 것이 필수적이기 때문입니다. 쉘 스크립트 내에서 exit 명령어가 실행되면 스크립트가 종료되며 부모 프로세스에 종료 상태를 전달할 수 있는데 이 값은 프로그램 내에서 임의로 지정할 수도 있습니다. 이..

    [bash 쉘 스크립트] 스크립트 실행하기

    개요 안녕하세요 피터입니다. 오늘은 Bash 쉘로 만들어진 프로그램(보통 스크립트-script라고 말합니다) 실행하는 방법을 설명드리겠습니다. 가장 기본적인 형태의 bash 스크립트는 여러개의 명령어를 나열한 것입니다. 그러면 명령어를 매번 하나하나 입력할 필요 없이 스크립트 파일을 실행하는 것으로 시간을 절약할 수 있습니다. 마치 windows의 배치(batch) 파일과 같죠. 좀 더 복잡한 스크립트를 만들기 위해서는 쉘 내부 지시자를 사용해야 하는데 그러기 위해서는 맨 첫줄에 #! 로 시작하는 매직 코드(magic code)가 필요합니다. #! 두 바이트는 이 파일이 어떤 명령어 해석기의 집합인지 시스템에 알려주는 역할으르 합니다. 즉, 실행 가능한 스크립트라는 것을 나타내는 특별한 표시자인 것이죠...

    [bash 쉘 스크립트] bash 쉘 프로그래밍을 배워야 하는 이유

    개요 안녕하세요 피터입니다. 오늘은 여러분들이 왜 Bash 쉘 프로그래밍을 배워야 하는지에 대해서 설명드리겠습니다. 리눅스(Linux) 환경에서 개발을 하거나, 시스템 관리자 업무를 수행하는데 있어서 Bash 쉘을 잘 다룰 수 있다는 점은 굉장한 경쟁력이 됩니다. 그만큼 업무를 효율적으로 수행할 수 있으니까요. Bash란 "Bourne-Again Shell"의 앞 글자를 딴 것입니다. Stephen Bourne의 Bourne Shell에 대한 클리쉐로 일종의 말장난 같은 겁니다. Bash는 이제 모든 종류의 유닉스에서 쉘 스크립트에 관한 실질적인 표준입니다. 쉘은 명령어 해석기(command interpreter)로서, 단지 커널과 사용자 중간에 놓여 있는것 이상으로 꽤 강력한 프로그래밍 언어입니다. 일..