dateコマンドは引数に+%uをつけると月曜日~日曜日を1~7の数値として取得できる。
実行例
date +%u
実行結果(日曜日の場合)
7
これを使って曜日の判定による処理が簡単にできる。
ロシア民謡「一週間」の歌詞を曜日により表示するサンプル
小学校で歌った印象深い懐かしい歌です。テュリャ テュリャ テュリャ♪
one_week.sh
# シェルで曜日を判定
# 今日の曜日を取得
youbi=`date +%u`
# 曜日ごとの処理
if [ "$youbi" -eq 7 ];then # 日曜日
echo "日曜日に 市場へでかけ"
echo "糸と麻を 買ってきた"
elif [ "$youbi" -eq 1 ];then # 月曜日
echo "月曜日に おふろをたいて"
elif [ "$youbi" -eq 2 ];then # 火曜日
echo "火曜日は おふろにはいり"
elif [ "$youbi" -eq 3 ];then # 水曜日
echo "水曜日に ともだちが来て"
elif [ "$youbi" -eq 4 ];then # 木曜日
echo "木曜日は 送っていった"
elif [ "$youbi" -eq 5 ];then # 金曜日
echo "金曜日は 糸まきもせず"
elif [ "$youbi" -eq 6 ];then # 土曜日
echo "土曜日は おしゃべりばかり"
fi
実行イメージ(日曜日だった場合)
日曜日に 市場へでかけ 糸と麻を 買ってきた
プログラム入力の注意点
シェルスクリプトは入力に注意があって、下手にスペースを入れると動かなかったり動いたりする。
代入などの=の前後はスペースを入れない
if文の[の後ろと]の手前にスペースを入れる
コメント