배쉬 지역 변수

배쉬 지역 변수

함수에 로컬인 변수를 어떻게 선언할 수 있나요? 정기적으로 선언된 변수는 전역 범위로 내보내집니다. 예:

$ cat t.sh
function locals_test() 
{
  x="bar"
}

$ echo $x

$ locals_test 
$ echo $x
bar

답변1

사용 local:

local x=bar

그런 다음 x함수에 로컬이 됩니다. 예를 들어 배열이나 숫자를 선언하려면 local와 동일한 옵션을 사용합니다 declare. 출력은 두 개의 빈 줄입니다.

#!/bin/bash
function locals_test() 
{
  local x=bar
}

echo $x
locals_test
echo $x

관련 정보