---------------------------------------------------------
# 함수(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
---------------------------------------------------------
# 참고사이트
---------------------------------------------------------
'쉘스크립트' 카테고리의 다른 글
[Shell Script] template source code (0) | 2021.04.15 |
---|---|
[Shell Script] trap을 이용한 signal 처리방법 (0) | 2021.04.15 |
[Shell Script] 반복문(while) (0) | 2021.04.15 |
[Shell Script] 반복문(for) (0) | 2021.04.15 |
[Shell Script] 조건문(case) (0) | 2021.04.15 |