명령들, 명령들, 명령들
당신의 첫번째 프로그램이 한 일은 정확히 무엇인가? 그 프로그램은 화면에 "Hello World"란 문구를 프린트했다. 하지만 어떻게 그렇게 한 것일까? 프로그램은 명령을 사용했다. 프로그램 상에서 당신이 썼던딱 한 줄의 코드는 echo "Hello World"
였다. 그렇다면, 어떤 것이 명령인가? 바로 echo
이다. echo 프로그램은 하나의 인자를 취해서 그 인자를 화면에 프린트한다.
인자(argument)는 프로그램 이름을 입력한 다음에 따라온다. 첫번째 예제에서 당신이echo에 넘겨 준 인자는 "Hello World"
이다
. 당신이 ls /home/root
란 명령을 입력할 때, ls에 대한 인자는 /home/root
이다. 그렇다면 이 모든 것이 뜻하는 것은 무엇인가? 만일 당신이 인자 하나를 취해서 화면에 프린트하는 프로그램을 가지고 있다면, 그 프로그램 대신에 echo를 사용할 수 있다는 것이다. 우리가 foo라고 하는 프로그램을가지고 있다고 가정하자. 이 프로그램은 문자열 하나를 인자로 가져서 화면에 출력한다. 우리는 위의 예제를 다음과 같이 다시 쓸 수 있다:
#!/bin/bash
foo "Hello World"
이 내용을 저장하고 chmod
로 실행 가능하도록 하여 실행하자:
xconsole$
./hello
Hello World
결과는 정확하게 똑같다. 프로그램 이름을 제외하고 어느 한 곳이라도 다른 곳이 있는가? 전혀 없다. 실제로 무엇인가 작성한 것이 있는가? 당신이 echo 프로그램을 작성했다면 모르지만 그렇지 않다면 전혀작성한 것이 없다. 당신이 한 것이라고는 이미 주어진 인자와 함께 echo 프로그램을 당신의 쉘 프로그램에 사용한 것 뿐이다. 실제로 echo 명령 대신 쓸 수 있는 명령은 printf 가 있다. 특히 C 프로그래밍에 능한사람의 경우에는printf의 여러 기능을 이용해서 보다 다양한 결과를 낼 수 있다. 사실, 쉘 프로그램을 만들지 않고도 위의 예제와 꼭 같은 결과를 얻을 수 있다:
xconsole$
echo "Hello World"
Hello World
bash
쉘 스크립팅은 다양한 제어를 가능하게 하며 또한 배우기 쉽다. 방금 보았듯이, 쉘 프로그램에 리눅스 명령을 함께 쓸 수 있다. 쉘 프로그램은 특정한 일을 하기 위해 특별히 조립된 여러 프로그램의 집합체이다.
'경험치바(Experience Opint Bar)' 카테고리의 다른 글
bash 쉘 주석 (0) | 2015.12.24 |
---|---|
bash 쉘 백업 프로그램 (0) | 2015.12.24 |
bash 쉘 첫번째 프로그램 (0) | 2015.12.24 |
bash 쉘 스크립팅 입문 (0) | 2015.12.24 |
bash 쉘 스크립트 위치 매개 변수, 조건문 (0) | 2015.12.23 |