RedHat Linux >> System Administration for Redhat Linux
|
[목차] |
제2장 쉘 프로그래밍
11. 함수의 사용 셸 스크립트를 작성할 때 함수도 만들어 사용할 수 있습니다. 이것은 간단한 함수를 만들어 본 것인데 다음 내용을 수행하면 화면에 'testfunc'를 출력하게 됩니다.
# vi func1.sh #!/bin/sh testfunc # sh func1.sh
함수에서 아규먼트를 전달하려면 어떻게 하면 될까요? 다음 예를 봅시다.
# a function to start a program.
# test syntax.
}
앞의 예는 레드햇 리눅스에서 사용되는 스크립트 중 하나인데 기능은 프로그램을 수행하는 것입니다. 이 스크립트는 다음과 같은 식으로 수행할 수 있습니다.
daemon <수행할 프로그램>
앞에서 보면 아규먼트의 전달 또한 외부 아규먼트의 전달도 마찬가지로 $1을 사용했음을 알 수 있습니다. 즉 함수로 전달되는 아규먼트 또한 외부 아규먼트와 마찬가지로 처리되므로 $1은 첫 번째 아규먼트를, $2는 두 번째 아규먼트를 뜻하는 것입니다. 마지막으로 $@은 모든 아규먼트를 뜻하게 됩니다.
앞의 예를 좀더 살펴보면
ulimit -c 0
라는 부분을 볼 수 있는데 이 부분은 프로그램의 수행 중 에러가 발생할 경우 core라는 메모리 dump 파일을 만들게 되는데 이것을 생성하지 못하도록 하는 것입니다.
이로써 대략적인 셸 스크립트에 대해 알아보았는데 대충 감을 잡을 수 있겠죠? 그러면 이번에는 실제로 리눅스에서 사용되는 스크립터를 분석하면서 설명하겠습니다.
|
[목차] |