Help us understand the problem. What is going on with this article?

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 のほうが浮動小数点以下が細かいですね。

参考サイト

qiitadon
Qiitadon(β)から生まれた Qiita ユーザー・コミュニティです。
https://qiitadon.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away