曜日に基づいてメッセージを印刷するBashスクリプトを作成します(たとえば、水曜日は「Happy hump day」、金曜日は「TGIF」など)。 bashスクリプトで曜日メッセージを印刷するには?
答え1
現在の曜日は1から7の整数です(1は月曜日)。
printf -v weekday '%(%u)T' -1
bash
これはバージョン4.2以降を実行していると仮定します。
この番号に基づいて他のメッセージを割り当てて印刷するには:
case $weekday in
3) message='Happy hump day' ;;
5) message='TGIF' ;;
*) message='Some default message'
esac
printf 'Message of the day: %s\n' "$message"
答え2
メッセージ配列を宣言した後、実際の曜日に対応するメッセージを使用します。date +%w
インデックスとして使用できる数値 0 .. 6 (0 は日曜日に対応) を返します。
#! /bin/bash
messages=(Sunday
IFHM
Tuesday
'Happy hump day!'
Thursday
TGIF
Saturday)
echo "${messages[$(date +%w)]}"