변수는 이름과 내용을 포함하는 상자라고도 합니다. 간단한 명령(예: 'echo Hello $Var_Name')은 'Hello...정의된 변수 값'을 인쇄합니다. 상자가 비어 있거나 생성되지 않은 경우 Bash는 아무것도 인쇄하지 않습니다. 그렇기 때문에 bash 스크립트를 생성하는 동안 변수가 올바르게 설정되었는지 확인하는 것이 중요합니다.
누가 학교를 만들었나
변수는 두 부분으로 분류될 수 있습니다.
적절하게 생성되거나 초기화된 변수를 정의 변수라고 합니다. 값이 0이거나 빈 문자열일 수 있습니다.
생성되거나 초기화되지 않은 변수를 정의되지 않은 변수라고 합니다.
Bash 스크립팅에서 변수가 설정되었는지 여부를 확인하려면 다음을 사용할 수 있습니다. -v var 또는 -z ${var} 옵션을 'if' 조건부 명령의 조합으로 표현식으로 표현합니다.
통사론
다음은 변수가 설정되었는지 확인하는 데 사용할 수 있는 부울 표현식의 구문입니다.
[[ -v Variable_Name ]] [[ -z Variable_Name ]]
부울 표현식은 변수가 설정된 경우 'True'를 반환하고 변수가 설정되지 않은 경우 'False'를 반환합니다.
다음은 변수 설정 여부를 확인하는 예입니다.
세계 최고의 자동차
-v 옵션 사용
#!/bin/bash #Script to check whether a variable is set or not using -v option A=100 #A: variable is set. if [[ -v A ]]; then echo 'Variable having name 'A' is already set.' else echo 'Variable having name 'A' is not set.' fi #B: variable is not set if [[ -v B ]]; then echo 'Variable having name 'B' is already set.' else echo 'Variable having name 'B' is not set.' fi
산출
여기서 변수 'A'는 정의되어 값 100이 할당되므로 '설정된 변수'로 간주됩니다. 변수 'B'에 대해서는 어떤 값도 정의하거나 할당하지 않았습니다. 따라서 변수 'B'는 '설정변수'로 간주되지 않습니다.
-z 옵션 사용
#!/bin/bash #Script to check whether a variable is set or not using -z option A=100 #A: variable is set. if [[ -z ${A} ]]; then echo 'Variable having name 'A' is not set.' else echo 'Variable having name 'A' is already set.' fi #B: variable is not set if [[ -z ${B} ]]; then echo 'Variable having name 'B' is not set.' else echo 'Variable having name 'B' is already set.' fi
산출
메모:설정되지 않은 변수와 null 값이 있는 변수에는 차이가 있습니다.
null 값이 있는 변수가 설정 변수가 될 수 있음을 보여주는 다음 예를 확인하세요.
예
VAR='' #VAR is set if [ -z ${VAR+x} ]; then echo ''VAR' is unset'; else echo ''VAR' is set, its content is '$VAR''; fi #Var is not set if [ -z ${Var+x} ]; then echo ''Var' is unset'; else echo ''Var' is set, its content is '$Var''; fi
산출
이는 변수가 설정되었는지 여부를 확인하는 데 사용할 수 있는 일반적으로 사용되는 방법입니다.
배열 대 배열 목록