#!/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)をひとつずつループさせる代わりに、プロンプトを出力しているという違いが
あるだけだからです。
#!/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)
を受け取ったかどうかを調べるものです。そして、
引数を受け取らなかったときは簡単な使用方法についてのメッセージを表示して終
了します。スクリプトの残りの部分は、この時点では明瞭だと思います。