Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Shellスクリプトで特定の曜日/日付で発生する分岐をつくる

dateの結果を変数展開する事で、特定の曜日に発動する処理を作る事ができます。
cronなんかでは特に有用ですね。

実際のところ

月曜日の場合だけ「hello」と出すBashスクリプトは以下の通りです。
LANG=Cをしとかないと、日本語環境では動かなかったりするので注意。

$ if [ $(LANG=C date '+%a') == "Mon" ]; then printf "hello"; fi

他の手段としては%w(曜日の数値表記。0、7が日曜日)を使うという手もありますが、
ぱっと見でマジックナンバーっぽくて好きじゃないので今回は使いませんでした。

参考もと

  • man date