あけましておめでとうございます
三が日が終わって三連休も終わりに差し掛かってきて現実逃避をしたくなってbashrcをいろいろいじってみました。
正月を終わらせたくない
まずは日付を変えよう。
今日は 2024-01-01 ということにしておく
以下をターミナルで実行する。
echo "alias date=\"echo -n '2024-01-01 ';date '+%H:%M:%S'\"" >> ~/.bashrc
ターミナルを開き直す or bashrc を読みこみ直す
source ~/.bashrc
$ date
2024-01-01 15:41:35
これでいつ date を実行しても今日は 2024-01-01
だと教えてくれるようになった。よし。
※ 当然だけど \
付きで実行すると alias じゃない date が実行されるのであくまで気分の問題。
ターミナルログイン時に新年の挨拶がされるようにする
これだと date
コマンドを打たないと正月であることを忘れてしまう。
ターミナルにログインしたら HAPPY NEW YEAR
と出るようにしよう。
使うのは banner コマンド。
入っていなければインストールする。
sudo apt install sysvbanner
banner コマンドは引数で指定した文字列を #
で表現してくれる。 #
は変更も可能。
たとえば
banner hello
と実行すると
# # ###### # # ####
# # # # # # #
###### ##### # # # #
# # # # # # #
# # # # # # #
# # ###### ###### ###### ####
と表示される(英字小文字はすべて大文字に変換される)。
banner コマンドを使って盛大に A HAPPY NEW YEAR
と表示しよう。
banner "A HAPPY" "NEW YEAR"
実行すると以下のようになる。
# # # # ###### ###### # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # ####### # # ###### ###### #
####### # # ####### # # #
# # # # # # # # #
# # # # # # # # #
# # ####### # # # # ####### # ######
## # # # # # # # # # # # #
# # # # # # # # # # # # # #
# # # ##### # # # # ##### # # ######
# # # # # # # # # ####### # #
# ## # # # # # # # # # #
# # ####### ## ## # ####### # # # #
いいじゃないか。これがターミナルに入るたびに表示されれば正月であることを忘れない。
新年の挨拶がゆっくり表示されるようにしよう
さきほどのbannerコマンドだけでもいいのだが、一瞬で表示されてしまってそのうち見なくなってしまう。もうひと工夫加えてA
HAPPY
NEW
YEAR
がbannerでそれぞれ表示されたあと1秒スリープして、正月であることを噛み締められるようにしよう。
for WORD in A HAPPY NEW YEAR
do
banner $WORD
sleep 1
clear
done
これをbashrcに追記しよう。
echo "for WORD in A HAPPY NEW YEAR
do
banner \$WORD
sleep 1
clear
done" >> ~/.bashrc
これで A
HAPPY
NEW
YEAR
と4秒(sleep 1秒×4)かけて表示されてからターミナルが表示されるようになった。
ターミナルから抜けるときも正月であることを忘れない
ログイン時には A HAPPY NEW YEAR
と表示されるようになったけど、ターミナルを抜ける時には忘れてしまうかもしれない。
ということで以下を実行する
echo "trap 'echo ¥"明日もまだ正月だよ¥"; sleep 1; exit' EXIT" >> ~/.bashrc
こうしておくことでターミナルから抜ける時に 明日もまだ正月だよ
と表示される。
~$ exit
明日もまだ正月だよ
Ctrl + D などで抜けたときも同じ。よし、これでまだ正月であることを忘れない。
最後に
明日から仕事頑張ろう…。