次のページ 前のページ 目次へ

5. 変数 (variable)

変数を使えないプログラム言語はありません。ただ、bash にはデータ 型(data type)がありません。bash の変数は、数字、文字、文字列を格納 することができます。

変数を宣言する必要はなく、参照すべき変数に値を代入すれば、それだけで 作成できます。

5.1 サンプル: 変数を使った Hello World!

        #!/bin/bash
        STR="Hello World!"
        echo $STR
        

2 行目で STR という変数を作って、それに "Hello World" とい う文字列を代入しています。この変数の「値」は変数の最初に "$" を置く ことで取り出せます。 もし "$" という記号を使わなかったらプログラムの出力は違うものとな り、望んだ結果を得られないということを理解して(あるいは実際にやってみて)くだ さい。

5.2 サンプル: 非常にシンプルなバックアップスクリプト(改良版)

        #!/bin/bash          
        OF=/var/my-backup-$(date +%Y%m%d).tgz
        tar -cZf $OF /home/me/
        

上記のスクリプトは、今までとは少し違うことを紹介しています。まず二行目にある 変数の作成と代入についてはもう慣れたと思います。 では、"$(date +%Y%m%d)" という表現に注目してください。 スクリプトを実行すると、丸カッコのなかのコマンドが実行されて、その出力が 取り込まれるようになっています。

このスクリプトでは、date コマンドの(+%Y%m%d)という書式スイッチに従っ て、出力されるファイル名が毎日変わることに注意してください。違った書式を指定 することで、これとは異なるファイル名にすることもできます。

それ以外の参考事例として、

といったものがあります。

5.3 ローカル変数

ローカル変数は、local というキーワードを使って作成することができ ます。

        #!/bin/bash
        HELLO=Hello 
        function hello {
                local HELLO=World
                echo $HELLO
        }
        echo $HELLO
        hello
        echo $HELLO
        

ローカル変数の使い方については、以上の例で充分かと思います。


次のページ 前のページ 目次へ