いきなりですが過去問です.
dateコマンドを使用して,昨日の曜日を表示する方法を答えなさい.
Windowsでもdateコマンドが使えるらしいのですが,ここでは,Linux上で実行するものとします.
さっそくですが解答です.
date -d yesterday +%A
とすれば,雑記を書いている今は火曜日なので,「月曜日」と出力されます.英語表記にしたければ,
env LC_ALL=C date -d yesterday +%A
とします.bashやzshでは,先頭の「env 」はなくてもかまいません.
「表示する」のなら,
date -d yesterday
とするのでも,間違いではありません.実際,出力の中に曜日情報が含まれています.ただしその場合,昨日の曜日以外も表示されるわけですから,無駄が多いようにも思えます.
実行コマンドにもうひと手間かけて,出力をシンプルに明快にすべきか,実行コマンドの字数を少なくして,アウトプットから際立つ情報を目で発見すべきか…というのは,プレゼンテーションの準備においても,じゅうぶんに配慮したいものです.
冒頭に「過去問」と書きましたが,2002年度後期に携わったプログラミング演習科目で,出席がわりの小問が元ネタです.都合によりリンクはしません.dateコマンドの詳細は,Man page of dateからどうぞ.