変数の範囲
変数の範囲
グローバル変数とローカル変数
シェルスクリプト内で宣言した変数は、シェルスクリプト内の複数の関数から
使用できる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の値はグローバルです。
図
同じ変数名であってもグローバル変数か、ローカル変数かによってそれぞれ違う値を代入することができます。
また、関数内で宣言した変数は、同じ変数名でも関数外では、有効ではないことがわかります。