posted by 귀염둥이채원 2021. 4. 15. 12:38

 

---------------------------------------------------------

# 함수(Function)

---------------------------------------------------------

* function는 생략해도 된다.

* 함수명을 쓰면 함수가 호출이 된다.

* 호출 코드가 함수 코드보다 반드시 뒤에 있어야 된다.

- 함수 코드 보다 앞에서 호출 오류가 발생한다.

 

---------------------------------------------------------

# 함수 예시

---------------------------------------------------------

#!/bin/bash

string_test1() {

echo "string test1"

}

 

function string_test2() {

echo "string test2"

echo -n "인자값: ${@}"

}

 

string_test1

string_test2

 

# 함수에 인자값 전달하기(공백으로 띄워서 2개의 인자값을 넘김)

string_test2 "hello" "world"

 

# output

$ bash test.sh

string test1

string test2

인자값: string test2

인자값: hello world

 

---------------------------------------------------------

# example

---------------------------------------------------------

#!/bin/bash

# BASH FUNCTIONS CAN BE DECLARED IN ANY ORDER

function function_B {

echo Function B.

}

function function_A {

echo $1

}

function function_D {

echo Function D.

}

function function_C {

echo $1

}

# FUNCTION CALLS

# Pass parameter to function A

function_A "Function A."

function_B

# Pass parameter to function C

function_C "Function C."

function_D

 

# output

$ bash test.sh

Function A.

Function B.

Function C.

Function D.

 

---------------------------------------------------------

# 문자열을 반환하는 방법 - 전역변수 사용

---------------------------------------------------------

* 전역 변수를 사용하여 문자열 값을 반환

* 함수를 호출 한 후 전역 변수의 값이 변경



#!/bin/bash

function F1() {

retval='I like programming'

}

 

retval='I hate programming'

echo $retval

F1

echo $retval

 

# output

$ bash test.sh

I hate programming

I like programming

 

---------------------------------------------------------

# 문자열을 반환하는 방법 - 함수 명령 사용

---------------------------------------------------------

#!/bin/bash

function F2() {

local retval='Using BASH Function'

echo "$retval"

}

 

getval=$(F2)

echo $getval

 

# output

$ bash test.sh

Using BASH Function

 

---------------------------------------------------------

# 문자열을 반환하는 방법 - 변수 사용

---------------------------------------------------------

#!/bin/bash

function F3() {

local arg1=$1

 

if [[ $arg1 != "" ]]; then

retval="BASH function with variable"

else

echo "No Argument"

fi

}

 

getval1="Bash Function"

F3 $getval1

echo $retval

 

getval2=$(F3)

echo $getval2

 

# output

$ bash test.sh hello

BASH function with variable

No Argument

 

---------------------------------------------------------

# 문자열을 반환하는 방법 - Return 문 사용

---------------------------------------------------------

#!/bin/bash

function F4() {

echo 'Bash Return Statement'

return 35

}

 

F4

echo "Return value of the function is $?"

 

# output

$ bash test.sh hello

Bash Return Statement

Return value of the function is 35

 

---------------------------------------------------------

# 참고사이트

---------------------------------------------------------

https://devhints.io/bash

https://blog.gaerae.com/2015/01/bash-hello-world.html