Linux:シェルスクリプトで曜日を判定する

IT知識

dateコマンドは引数に+%uをつけると月曜日~日曜日1~7の数値として取得できる。

実行例

date +%u

実行結果(日曜日の場合)

7

これを使って曜日の判定による処理が簡単にできる。

ロシア民謡「一週間」の歌詞を曜日により表示するサンプル

小学校で歌った印象深い懐かしい歌です。テュリャ テュリャ テュリャ♪

one_week.sh

1# シェルで曜日を判定
2 
3# 今日の曜日を取得
4youbi=`date +%u`
5 
6# 曜日ごとの処理
7if [ "$youbi" -eq 7 ];then  # 日曜日
8    echo "日曜日に 市場へでかけ"
9    echo "糸と麻を 買ってきた"
10elif [ "$youbi" -eq 1 ];then    # 月曜日
11    echo "月曜日に おふろをたいて"
12elif [ "$youbi" -eq 2 ];then    # 火曜日
13    echo "火曜日は おふろにはいり"
14elif [ "$youbi" -eq 3 ];then    # 水曜日
15    echo "水曜日に ともだちが来て"
16elif [ "$youbi" -eq 4 ];then    # 木曜日
17    echo "木曜日は 送っていった"
18elif [ "$youbi" -eq 5 ];then    # 金曜日
19    echo "金曜日は 糸まきもせず"
20elif [ "$youbi" -eq 6 ];then    # 土曜日
21    echo "土曜日は おしゃべりばかり"
22fi

実行イメージ(日曜日だった場合)

日曜日に 市場へでかけ
糸と麻を 買ってきた

プログラム入力の注意点

シェルスクリプトは入力に注意があって、下手にスペースを入れると動かなかったり動いたりする。

代入などのの前後はスペースを入れない

if文の[の後ろと]の手前にスペースを入れる

コメント

タイトルとURLをコピーしました