난 이해가 안 돼요:
$ declare -i VAR=0; \
> echo "$A"; \
> fun() { local -i VAR=1; echo {; echo "$VAR"; declare -p VAR; unset VAR; echo "$VAR"; declare -p VAR; echo }; };\
> fun; \
> echo "$VAR"; \
> declare -p VAR; \
> unset VAR; \
> echo "$VAR"; \
> declare -p VAR;
0
{
1
declare -i VAR="1"
declare -- VAR # <-- no error message
}
O
declare -i VAR="0"
bash: declare: VAR: not found # <-- error message
호출하면 왜 declare -p VAR
다른 결과가 나오나요? 내 말은, 어떤 경우에는 VAR
전역 변수이고 다른 경우에는 지역 변수라는 것을 알고 있습니다 . 하지만 그 배후에 있는 일부 "메커니즘"을 더 깊이 이해했다면 결과를 예측할 수 있었을까요?
declare -p
그렇지 않다면 여기서 다른 결과를 제공하려는 의도가 있습니까 ? 그렇다면 왜 그렇습니까?