리눅스

쉘 프로그래밍 [함수]

작성자
heukchoo
작성일
2021-01-18 00:05
조회
354
프로그램 내에 반복적인 기능을 매번 코딩하는 것은 낭비다.

반복적인 기능은 함수로 선언하고 필요할 때마다 함수를 불러 사용하는 것이 좋다.


함수 선언 및 호출


func1.p 스크립트

#!/bin/bash
func1() {
echo heukchoo
}

func1


$./func1.p
heukchoo


함수명을 func1로 정하고 중괄호 안에 실행할 명령을 넣었다.

함수명을 호출하여 함수를 실행했다.


func2.p 스크립트

#!/bin/bash
func2() {
echo $1
}

func2 10


$./func2.p
10


매개변수 $1을 출력하는 함수 func2을 선언하였다.
(매개변수는 여러개 사용 가능하고 함수 내에서만 활용된다.)

함수명 호출시 인자 10을 넘겨주었고 함수에 의해 10이 출력되었다.


func3.p 스크립트

#!/bin/bash
func3() {
return $1
}

func3 10
echo $?


$./func3.p
10


매개변수 $1을 출력하는 반환(return)하는 함수 func3을 선언하였다.

함수명 호출시 인자 10을 $1에 넘겨주었고 함수의 return으로 10이 $?에 전달되었다.

return 값은 정수만 가능한 것으로 보인다.

나중에 시간이 되면 문자열을 return 하는 방법을 알아봐야 겠다.
전체 0