Solarisで1970年1月1日からの日数を表示するコマンド
GNU版のdateとかだと、+%sで1970年1月1日0時0分0秒からの秒数(エポック)を表示できるが、Solarisの純粋な環境だとこれが出来ない。パスワードの有効期限があと何日かを知りたいときにはちょっと不便。そこで、無理やりこんな1行コマンドを作ってみました。
# echo $((`truss date 2>&1 | grep time | cut -d" " -f2`/60/60/24))
- trussってのは、Linuxでいうところのstraceと同じで引数に与えられたプログラムが内部で実行するシステムコールをトレースしてくれるコマンド。
- dateコマンドの中で発行しているtimeシステムコールの戻り値を秒から日数に変換。
そんな感じで完成です。