如何声明函数局部变量?定期声明的变量被导出到全局范围。例子:
$ cat t.sh
function locals_test()
{
x="bar"
}
$ echo $x
$ locals_test
$ echo $x
bar
Run Code Online (Sandbox Code Playgroud)
使用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)