간단한 bash 스크립트가 있습니다. 내 배쉬 버전은GNU bash, version 4.4.20(1)-release (x86_64-redhat-linux-gnu)
#!/bin/bash
func() {
nlvar="i'm not local variable"
local lvar="i'm local variable"
}
echo $nlvar
echo $lvar
내가 사용한다면
eval nlvar="i'm not local variable"
또는
export nlvar="i'm not local variable"
아직도 응답이 없습니다
답변1
함수를 호출하지 않으면 전역(정의되지 않음) 범위를 제외하고는 범위가 없습니다.
#!/bin/bash
func() { :; } # define a function
echo $nlvar
echo $lvar
함수를 정의해도 실행되지 않으므로 명령문이 실행될 때 echo
두 변수 모두 설정되지 않습니다.