8. 함수

대부분의 프로그래밍 언어에서는 논리적인 흐름과 재귀 표현 등을 위해 함수라는 이름으로 코드를 묶어 사용하는 일이 많다.

함수를 정의하는 데에는 심란하고 어려운 방법 같은 것은 전혀 필요하지 않다. 단지 이렇게 입력할 수만 있으면 된다. function my_func { my_code } 하고 말이다.

함수를 호출할 때는 다른 프로그램을 호출하는 것과 똑같이 이름을 적어주면 된다.

8.1. 함수 예제

 
#!/bin/bash 
function quit { 
exit 
} 
function hello { 
echo Hello! 
} 
hello 
quit 
echo foo 

2~4줄은 'quit' 함수이며, 5~7줄은 'hello' 함수이다. 이 스크립트가 무슨 뜻인지 잘 이해가 가지 않는다면, 백문이 불여일견이다. 한번 실행해 보면 무슨 말인지 다 알 것이다.

함수를 선언하는 데에는 특별히 신결 쓸 만한 일은 전혀 없다. 넘어가자.

이 스크립트가 실행되면 먼저 hello 함수가 호출되고 다음으로 quit 함수가 호출된다. 10번째 줄은 결코 실행되지 않을 것이다.

8.2. 인자를 받는 경우

 
#!/bin/bash 
function quit { 
exit 
} 
function e { 
echo $1 
} 
e Hello 
e World 
quit 
echo foo 

이 스크립트는 방금 전에 살펴 본 것과 매우 비슷하다. 가장 큰 차이는 'e'라는 이름의 함수이다. 이 함수는 받아들인 첫 번째 인자를 출력한다.