bashで定数を使う時の定義のしかた

シェル/bash

こんにちは。

普段はIT業界についてのブログを執筆してるエンジニアです。
» 参考:プログラマーの年収は200万円以下です【IT業界の残酷な成功法則】
» 参考:【一生使える本です】bashの解説書 厳選3選【おすすめ】

今回は、bashについての解説記事です。

bashで定数を使いたい人
「bashでシェルスクリプトを作る時、定数を使いたいです。どのように定義すれば使えるのでしょうか?」

bashで定数を使うには、readonlyを使って定義します。この時、グローバル定数として定義されます。

$ readonly globalMSG="constant message this is."
$ echo $globalMSG
constant message this is.

$ globalMSG="hoge"
bash: x: readonly variable

$ echo $globalMSG
constant message this is.

ローカル定数として定義する

readonlyを使って定義すると、グローバル変数になります。ローカル変数として定義するなら、declare -rを使います。単純にコマンドを実行するのではなく、関数などの構造をもつシェルスクリプトを作る場合にはグローバル変数と使い分けを行います。

$ function f1()
> {
> declare -r localMSG="constant message this is."
> }

$ f1

$ echo $localMSG

$ localMSG="hoge"
$ echo $localMSG
hoge

上の例で、関数f1()でローカル定数として定義されたlocalMSGは関数の外ではスコープの対象外となるため、定数ではなく変数として自由に値を変更することができます。

今回は以上です。お役に立ちましたら幸いです。

Blog TOP  シェルスクリプトを勉強したい人向け|bashの使い方 記事まとめ

bashの使い方 - もくじ

bashの使い方 - もくじ

シェルとは

 - シェルとは
 - シェルはOSと会話するための言語
 - シェルの種類(bash以外のシェル)
 - シェルスクリプトとは
 - シェルスクリプトの書き方

条件式

 - if else文
 - 文字列の比較
 - &&と||の使い方
 - case文

文字列操作

 - 文字列の連結
 - 文字列の一部を切り出す

繰り返し

 - for文
 - while文
 - while文でリストから1つ要素ずつ処理する

定数

 - 定数の定義

関数

 - 関数の定義

デバッグ

 - デバッグオプション(-x)

実行権限

 - 実行権限のないシェルスクリプトファイルを実行する

 - シェルスクリプトの書籍3選