変数の範囲
変数の範囲
グローバル変数とローカル変数
シェルスクリプト内で宣言した変数は、シェルスクリプト内の複数の関数から
使用できるglobal(グローバル)変数として宣言されます。
関数内で宣言した変数は、ひとつの関数内でのみ使用できるlocal(ローカル)変数として宣言されます。
local 変数名
local_variables.sh
#!/bin/bash var_change () { local var='ローカル' echo 変数varの値は$varです。 } var='グローバル' echo 変数varの値は$varです。 var_change echo 変数varの値は$varです。
実行結果
[user01@localhost ~]$ bash local_variables.sh 変数varの値はグローバルです。 変数varの値はローカルです。 変数varの値はグローバルです。
図
同じ変数名であってもグローバル変数か、ローカル変数かによってそれぞれ違う値を代入することができます。
また、関数内で宣言した変数は、同じ変数名でも関数外では、有効ではないことがわかります。