😎
Zsh で $EPOCHREALTIME を使いたい
答え
$ zmodload zsh/datetime
$EPOCHREALTIME とは?
$EPOCHREALTIME
はその瞬間の UNIX 時間を浮動小数点数で取得できるシェルの組み込み環境変数です。Bash では、バージョン 5 から追加されました。
Bash
$ echo $EPOCHREALTIME
1609927363.589775
Zsh では、バージョン 4.3.13 から追加されたようです。
しかし、Zsh の場合、デフォルトではこの環境変数は有効ではありません。
Zsh
$ echo $EPOCHREALTIME
# 何も出ない
この環境変数を有効にするには以下を実行します。
Zsh
$ zmodload zsh/datetime
これで使えるようになりました。
Zsh
$ echo $EPOCHREALTIME
1609927355.8729970455
常にこの環境変数を使いたい場合は、上記の設定を ~/.zshrc
などに書き込めば OK です。
余談
Bash よりも Zsh のほうが浮動小数点以下が細かいですね。
Discussion