728x90
반응형
리눅스 쉘 프로그램에서 전역 변수와 로컬 변수의 차이점과 사용 예시
1. 전역 변수 (Global Variables)
- 전역 변수는 프로그램의 어느 곳에서나 접근할 수 있는 변수입니다. 즉, 스크립트 내의 모든 함수에서 사용 가능합니다.
- 전역 변수는 스크립트가 실행되는 동안 메모리에 계속 유지되며, 해당 스크립트의 모든 함수에서 값을 공유합니다.
- 스크립트의 어느 곳에서든 값을 할당하거나 변경할 수 있으므로 주의해야 합니다. 다른 함수에서도 접근 가능하기 때문에 의도치 않은 결과가 발생할 수 있습니다.
- 전역 변수를 정의할 때에는 global 키워드를 사용하거나 함수 바깥에서 정의합니다.
# 전역 변수 예제
global_var="I am global" # 함수 바깥에서 전역 변수 정의
function example_function {
echo "Inside the function: $global_var" # 전역 변수 사용 가능
}
example_function
echo "Outside the function: $global_var"
2. 로컬 변수 (Local Variables)
- 로컬 변수는 함수 내에서만 접근 가능한 변수입니다. 함수가 실행되면 해당 변수가 메모리에 할당되며, 함수의 실행이 끝나면 변수가 소멸됩니다. 다른 함수에서는 해당 변수에 접근할 수 없습니다.
- 로컬 변수는 함수 내에서만 유효하기 때문에, 변수의 충돌이나 값의 누출을 방지할 수 있습니다.
- 로컬 변수를 정의할 때에는 변수 앞에 local 키워드를 사용합니다.
# 로컬 변수 예제
function example_function {
local local_var="I am local" # 함수 내에서 로컬 변수 정의
echo "Inside the function: $local_var" # 로컬 변수 사용 가능
}
example_function
echo "Outside the function: $local_var" # 로컬 변수는 함수 밖에서 사용 불가능
위의 예제에서 global_var는 전역 변수로 함수 내부와 외부 모두에서 접근할 수 있습니다. 반면 local_var는 함수 내부에서만 접근 가능한 로컬 변수로 함수 외부에서는 접근할 수 없습니다. 함수 내부에서만 유효하기 때문에 같은 이름의 변수를 다른 함수에서 사용해도 서로에게 영향을 주지 않습니다. 이렇게 전역 변수와 로컬 변수를 적절히 사용하여 변수의 스코프를 관리하고, 변수의 누출이나 충돌을 방지할 수 있습니다.
728x90
반응형
'Linux Distributions' 카테고리의 다른 글
MySQL 리플리케이션(mysql replication) 설정 방법 (0) | 2024.05.12 |
---|---|
GitLab에서 리포지토리 미러링을 구성하는 방법 (1) | 2024.05.07 |
웹 서버에서 특정 디렉토리에 대한 접근을 제한하는 방법 (0) | 2024.05.06 |
CentOS 7에 MySQL 5.7을 소스 컴파일 또는 바이너리 설치하는 방법 (0) | 2024.05.01 |
HAProxy 로깅을 설정하고 rsyslog를 사용하여 로그를 원격 서버로 전송하는 방법 (0) | 2024.05.01 |