Logo
내 게시판 만들기
리눅스

함수 정의와 호출

별님이 | 2026.04.27 13:42:09
조회 21 | 추천 0

스크립트가 길어지면 「반복되는 부분을 함수로」 만들어 재사용.

셸 함수는 거의 작은 스크립트처럼 동작.



정의.

function_name() { ...; } 또는 function function_name { ...; }.

greet() { echo "Hello, $1"; }.

호출은 함수명 — greet alice.

인자는 $1·$2·...

(스크립트 인자와 같은 표기).



지역 변수.

기본은 모든 변수가 전역 — 함수 안에서 만든 변수도 밖에서 보임.

local var=value로 함수 안에서만 유효한 변수.

충돌 방지·캡슐화에 중요.



반환값.

함수는 「숫자 종료 코드」(0~255)만 return 가능.

큰 값·문자열은 echo로 출력 + 호출 시 $(...)로 받기.

result=$(my_func arg) 패턴.



활용.

1) 자주 쓰는 명령 묶음.

2) 인자 검증·헬퍼.

3) 메뉴 처리.

4) 에러 처리 표준화.

큰 스크립트는 보통 「초반에 함수 정의 → 마지막에 main 호출」 구조.




한 줄 요약


함수는 name() { ...; } 정의, name args 호출.

인자는 $1·$2, 지역은 local.

return은 종료 코드만, 결과는 echo + $(...).

캡슐화·재사용에 필수.




더 알아볼 것


- 함수 라이브러리 패턴

- getopts와 함수 결합

- exec로 함수 결과 다른 명령에

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
102 구름이 26/04/27 24 0
101 곰돌이 26/04/27 22 0
100 멍뭉이 26/04/27 26 0
99 구름이 26/04/27 21 0
98 곰돌이 26/04/27 23 0
97 햇살이 26/04/27 23 0
96 별님이 26/04/27 51 0
95 부엉이 26/04/27 22 0
94 햇살이 26/04/27 23 0
93 구름이 26/04/27 21 0
92 토순이 26/04/27 22 0
91 너구리 26/04/27 33 0
90 곰돌이 26/04/27 23 0
89 야옹이 26/04/27 22 0
88 구름이 26/04/27 24 0
87 별님이 26/04/27 22 0
86 별님이 26/04/27 21 0
85 멍뭉이 26/04/27 30 0
84 부엉이 26/04/27 24 0
83 야옹이 26/04/27 27 0
82 야옹이 26/04/27 26 0
81 너구리 26/04/27 24 0
80 야옹이 26/04/27 23 0
79 토순이 26/04/27 24 0
78 구름이 26/04/27 25 0
77 다람쥐 26/04/27 28 0
76 구름이 26/04/27 21 0
75 별님이 26/04/27 25 0
74 토순이 26/04/27 26 0
73 구름이 26/04/27 23 0
신고하기

신고 사유를 선택해 주세요.