読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

bashで定数やローカル変数を宣言する方法

<スポンサーリンク>

bashで定数の宣言

bashの変数を読み込み専用にするためには、readonlyを宣言すればいい。

たとえば、readonlyで宣言した変数に新たな値を入れようとすると、エラーが出る。

#!/bin/sh

readonly FIXED_NUMBER=100

echo ${FIXED_NUMBER}

FIXED_NUMBER=200

echo ${FIXED_NUMBER}

エラーはこんな感じ。

./test.sh: line 7: FIXED_NUMBER: 読み込みのみの変数

なので、定数みたいに、決まった値を宣言したい場合は、readonlyをつけるとよい。

ローカル変数の宣言

bashでローカル変数を宣言するには、明示的にlocalと指定する。

以下のように、localと指定したものは、スコープの外からは見えなくなる。
逆に、localとつけないと、変数はすべてグローバルに宣言される。

#!/bin/sh

function echo_val() {
  local lo_val="local value"
  grobal_val="global value"

  echo ${lo_val}
  echo ${grobal_val}
}

echo_val

echo "-----out of scope----"

echo ${grobal_val}
echo ${lo_val}

結果

local value
global value
-----out of scope----
global value

入門bash 第3版

入門bash 第3版

bashクックブック

bashクックブック