Linux

Bash 함수(function)

bergerac 2025. 7. 13. 09:11

함수(Function) : 중복 코드를 줄이고, 의미를 분리하다.

 

✅ 함수 기본 구조

function 함수이름() {
    # 실행할 명령들
}

또는 function 키워드 없이도 쓸 수 있다:

함수이름() {
    # 실행할 명령들
}

 

✅ 예제: 간단한 인사 함수

greet() {
    echo "안녕하세요, $1님!"
}

greet "bergerac"

$1은 함수에 전달된 첫 번째 인자. $2, $3도 가능하다.
greet "cyrano" → 출력: 안녕하세요, cyrano님!

 

✅ return과 exit의 차이점

함수에서 결과를 반환할 때는 return을 쓸 수 있다.

double() {
    result=$(( $1 * 2 ))
    return $result
}

double 3
echo "리턴값: $?"  # $?에 함수의 return 값이 저장됨
  • return은 0~255 사이의 숫자만 반환 가능
  • 문자열이나 큰 수를 반환하려면 전역 변수에 저장하거나 echo로 출력해서 받아야 함

✅ echo를 이용한 문자열 반환

greeting() {
    echo "반갑습니다, $1님!"
}

message=$(greeting "윤꽁")
echo "$message"

 

✅ 함수에 기본값 넣기

say_hello() {
    name=${1:-"손님"}
    echo "안녕하세요, $name님!"
}

say_hello "윤꽁"
say_hello      # → "안녕하세요, 손님님!"

 

✅ 실전 예제: 디렉토리 안 파일 개수 세기 함수

 
count_files() {
    dir=$1
    count=$(ls "$dir" | wc -l)
    echo "$dir에는 $count개의 파일이 있습니다."
}

count_files "/etc"

'Linux' 카테고리의 다른 글

스크립트 분할 관리  (2) 2025.07.14
Bash 제어 흐름  (1) 2025.07.12
Bash 변수와 배열의 기초  (1) 2025.07.11
Linux file system 명령어 실습  (5) 2025.07.10
Package Manager  (2) 2025.07.09