関数にローカルな変数を宣言するにはどうすればよいでしょうか? 通常宣言された変数はグローバル スコープにエクスポートされます。例:
$ cat t.sh
function locals_test()
{
x="bar"
}
$ echo $x
$ locals_test
$ echo $x
bar
答え1
使用local
:
local x=bar
次に、x
は関数に対してローカルになります。たとえば、配列や数値を宣言するには、local
と同じオプションを使用しますdeclare
。出力は 2 つの空行になります。
#!/bin/bash
function locals_test()
{
local x=bar
}
echo $x
locals_test
echo $x