Bash
[Bash] 함수 활용
인공지능하마
2023. 10. 26. 22:16
반응형
함수를 사용하여 스크립트의 일부를 모듈화하고 코드의 가독성과 유지보수성을 향상시킬 수 있습니다. 함수는 특정 작업을 수행하는 코드 블록을 정의하고 호출할 수 있습니다.
예제 1: 간단한 함수 정의와 호출
#!/bin/bash
# 함수 정의
greet() {
echo "안녕하세요, $1!"
}
# 함수 호출
greet "Alice"
greet "Bob"
greet() 함수는 인사말을 출력하는 함수입니다.
greet "Alice"와 greet "Bob"은 함수를 호출하고 각각 "Alice"와 "Bob"에 대한 인사말을 출력합니다.
예제 2: 함수에서 매개변수와 반환 값 사용
#!/bin/bash
# 함수 정의: 두 숫자의 합 계산
add() {
local result=$(( $1 + $2 ))
echo "더한 결과: $result"
}
# 함수 호출
add 5 3
add() 함수는 두 숫자를 인수로 받아 덧셈을 수행하고 결과를 출력합니다.
예제 3: 함수 내에서 변수 범위 관리
#!/bin/bash
# 변수 범위 관리를 위한 함수 정의
scoped_variables() {
local local_var="로컬 변수"
global_var="글로벌 변수"
}
# 함수 호출
scoped_variables
# 변수 범위 확인
echo "로컬 변수: $local_var"
echo "글로벌 변수: $global_var"
scoped_variables() 함수 내에서 local_var은 로컬 범위에 있으므로 함수 외부에서 접근할 수 없습니다.
global_var는 함수 내에서 글로벌 범위에 있으므로 함수 외부에서도 접근 가능합니다.
예제 4: 함수를 사용한 모듈화
#!/bin/bash
# 함수 정의: 디렉토리 내의 .txt 파일 목록 출력
list_txt_files() {
local directory="$1"
for file in "$directory"/*.txt; do
echo "파일: $file"
done
}
# 함수 호출
list_txt_files "/path/to/directory"
list_txt_files() 함수는 디렉토리 경로를 입력으로 받아 그 디렉토리 내의 .txt 파일 목록을 출력합니다.
예제 5: 함수를 사용한 파일 복사
#!/bin/bash
# 함수 정의: 파일 복사
copy_file() {
local source_file="$1"
local destination="$2"
cp "$source_file" "$destination"
echo "파일 복사 완료: $source_file -> $destination"
}
# 함수 호출
copy_file "source.txt" "destination.txt"
copy_file() 함수는 소스 파일과 대상 경로를 입력으로 받아 파일을 복사하고 작업 완료 메시지를 출력합니다.
반응형