変数の範囲

変数の範囲

グローバル変数とローカル変数

シェルスクリプト内で宣言した変数は、シェルスクリプト内の複数の関数から
使用できる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の値はグローバルです。

同じ変数名であってもグローバル変数か、ローカル変数かによってそれぞれ違う値を代入することができます。
また、関数内で宣言した変数は、同じ変数名でも関数外では、有効ではないことがわかります。


NEXT>> オーバーライド