Bash 局部变量

syn*_*pse 3 bash shell

如何声明函数局部变量?定期声明的变量被导出到全局范围。例子:

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

$ echo $x

$ locals_test 
$ echo $x
bar
Run Code Online (Sandbox Code Playgroud)

Dan*_*eck 5

使用local

local x=bar
Run Code Online (Sandbox Code Playgroud)

然后,x将是函数的本地。声明例如数组或数字,local采用与declare. 输出将是两个空行:

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

echo $x
locals_test
echo $x
Run Code Online (Sandbox Code Playgroud)