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

9. ユーザインターフェイス

9.1 簡単なメニューを作るために select を使う

        #!/bin/bash
        OPTIONS="Hello Quit"
        select opt in $OPTIONS; do
            if [ "$opt" = "Quit" ]; then
              echo done
              exit
            elif [ "$opt" = "Hello" ]; then
              echo Hello World
            else
              clear
              echo bad option
            fi
        done
        

もし上記のスクリプトを実行したなら、テキストベースのメニューというプログラマ のひとつの夢が実現しているのが分かると思います。また for の制御構造 と似ていることにも気付いたかもしれません。$OPTIONS に代入された語 (word)をひとつずつループさせる代わりに、プロンプトを出力しているという違いが あるだけだからです。

9.2 コマンドラインを使ってみる

        #!/bin/bash        
        if [ -z "$1" ]; then 
            echo usage: $0 directory
            exit
        fi
        SRCD=$1
        TGTD="/var/backups/"
        OF=home-$(date +%Y%m%d).tgz
        tar -cZf $TGTD$OF $SRCD
        

上記のスクリプトが何をするかは、もうお分かりでしょう。最初の条件制御の式は、 プログラムが引数 ($1)を受け取ったかどうかを調べるものです。そして、 引数を受け取らなかったときは簡単な使用方法についてのメッセージを表示して終 了します。スクリプトの残りの部分は、この時点では明瞭だと思います。


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