Zsh (Z Shell)은 많은 기능과 확장성을 가진 매우 강력한 쉘입니다. Zsh 스크립트를 작성할 때 변수는 핵심적인 개념입니다. 여기에서는 Zsh 스크립트에서 변수를 사용하는 방법과 다양한 기능을 알아보겠습니다.
변수 선언
Zsh 스크립트에서 변수를 선언하려면 $
문자와 함께 변수 이름을 사용합니다. 변수에 값을 할당하려면 =
기호를 사용합니다. 예를 들어, 다음과 같이 변수 name
에 문자열 “John”을 할당할 수 있습니다:
name="John"
변수 사용
변수를 사용하여 스크립트에서 값을 참조할 수 있습니다. 변수를 참조할 때에는 $
문자와 함께 변수 이름을 사용합니다. 예를 들어, 변수 name
의 값을 출력하려면 다음과 같이 사용할 수 있습니다:
echo $name
출력 결과는 “John”이 됩니다.
변수의 유효 범위
변수에는 지역 변수와 환경 변수 두 가지 유형이 있습니다.
- 지역 변수: 함수 내에서 선언된 변수로, 함수 내에서만 유효한 범위를 가집니다.
- 환경 변수: 현재 사용자 또는 시스템 전체에서 사용할 수 있는 변수로, 모든 쉘 스크립트에서 공유됩니다.
변수의 유효 범위를 설정하려면 local
또는 export
키워드를 사용합니다. local
키워드를 사용하면 지역 변수를 선언할 수 있고, export
키워드를 사용하면 해당 변수를 환경 변수로 설정할 수 있습니다.
function myFunction() {
local localVariable="I am a local variable"
export globalVariable="I am a global variable"
}
기본값 설정
변수에 기본값을 설정하여 해당 변수가 값이 없을 때 사용될 값을 정의할 수 있습니다. :
문자를 사용하여 기본값을 지정합니다.
name=""
echo ${name:="Default Value"}
위 예제에서는 name
변수에 값이 없으므로 “Default Value”가 출력됩니다.
변수 삭제
변수를 삭제하려면 unset
명령어를 사용합니다.
unset name
위 예제에서는 name
변수가 삭제됩니다.
변수 확장
Zsh는 강력한 변수 확장 기능을 제공합니다. 변수 확장은 변수 값을 다른 식으로 변환하기 위해 사용됩니다.
-
명령어 치환:
$()
또는`
기호를 사용하여 명령어의 출력 값을 변수에 할당할 수 있습니다.date=$(date +%Y-%m-%d)
-
변수 치환:
${}
를 사용하여 변수를 참조하고, 기본값 설정, 문자열 치환 등의 작업을 수행할 수 있습니다.greeting="Hello" echo ${greeting:+$greeting,} World
출력 결과는 “Hello, World”가 됩니다.
마무리
Zsh 스크립트에서 변수는 중요한 개념이며 다양한 기능과 확장성을 제공합니다. 이 글에서는 변수 선언, 사용, 범위, 기본값 설정, 삭제, 그리고 변수 확장에 대해 알아보았습니다. 이러한 기능을 응용하여 더욱 강력하고 유연한 Zsh 스크립트를 작성할 수 있습니다.