Bash ローカル変数

Bash ローカル変数

関数にローカルな変数を宣言するにはどうすればよいでしょうか? 通常宣言された変数はグローバル スコープにエクスポートされます。例:

$ 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

関連情報