はじめに
Linuxで作業をする際、date
コマンドってよく使いますよね。
$ date
2024年 7月 7日 日曜日 11時23分54秒 JST
必要最低限の表示で便利なんですが、無機質だと思ったことはありませんか?
時間というものは、単なる数字の並びではありません。
月や日付、曜日などによって、あなた自身が持つ感情というものがあるはずです。
そこで今回は、そんな あなたの感情を映し出す、世界でたった一つのコマンド「emotional_date」 を作ってみましょう!
emotional_date: 時を彩る魔法のコマンド
emotional_date
は、単なる時刻表示にとどまりません。
時間帯や曜日に合わせて、出力結果が変化する、まさに 生きた時計 となるでしょう。
実装例
今回は、シェルスクリプトを使って emotional_date
を実装してみましょう。
#!/bin/bash
# あなたの好きな絵文字を設定
morning_emoji="☀️"
daytime_emoji="💪"
evening_emoji="🌙"
night_emoji="😴"
# 曜日ごとのメッセージを設定
mon_message="月曜日は新たな挑戦の日! 💪"
tue_message="火曜日も着実に前進! 🚀"
wed_message="週の真ん中水曜日、一息つこう☕"
thu_message="木曜日、週末はもうすぐそこ! 🎉"
fri_message="華金だ! 🍻"
sat_message="楽しい週末の始まり! 🥳"
sun_message="ゆっくり休んでリフレッシュ! 🛀"
year=$(date +%Y)
month=$(date +%m)
day=$(date +%d)
hour=$(date +%H)
minute=$(date +%M)
second=$(date +%S)
weekday=$(date +%a)
# 時間帯に応じた絵文字を設定
if [ $hour -ge 6 -a $hour -lt 12 ]; then
emoji=$morning_emoji
elif [ $hour -ge 12 -a $hour -lt 18 ]; then
emoji=$daytime_emoji
elif [ $hour -ge 18 -a $hour -lt 22 ]; then
emoji=$evening_emoji
else
emoji=$night_emoji
fi
# 曜日ごとのメッセージを取得
case $weekday in
"月") message=$mon_message ;;
"火") message=$tue_message ;;
"水") message=$wed_message ;;
"木") message=$thu_message ;;
"金") message=$fri_message ;;
"土") message=$sat_message ;;
"日") message=$sun_message ;;
*) message="今日も一日頑張ろう!" ;;
esac
# 時刻、絵文字、曜日メッセージを表示
echo "${emoji} ${year}年${month}月${day}日 ${hour}時${minute}分${second}秒 ${message}"
実行結果
$ sh emotional_date.sh
☀️ 2024年07月07日 11時52分30秒 ゆっくり休んでリフレッシュ! 🛀
カスタマイズのススメ
emotional_date
の真髄は、 あなただけのオリジナル時計を作れる ところにあります。上記スクリプトを自由に編集して、あなただけの emotional_date
を完成させましょう!
- 絵文字変更: 各時間帯に表示する絵文字を、あなたの気分に合うものに変更できます。
- メッセージ追加: 曜日ごとに表示するメッセージを、あなたを励ます言葉や、週末の予定など、自由に設定できます。
- 天気予報の表示: 天気予報APIを取得して、現在の天気と気温を表示するように改造することも可能です。
- 目標までのカウントダウン: 次回リリース日や大切なイベントまでの日数を表示して、モチベーションを高めることもできます。
まとめ
emotional_date
は、時間という概念に、あなたの感情という彩りを加える、まさに魔法のコマンドです。
さあ、あなたもこのコマンドをカスタマイズ、dateコマンドを、より豊かでエモーショナルなものに変えてみましょう!