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