【问题标题】:Adding timestamp to each line on Zsh为 Zsh 上的每一行添加时间戳
【发布时间】:2017-02-25 20:35:30
【问题描述】:

我刚刚安装了 Sierra,想将 zsh 与 oh-my-zsh 和 power shell 一起使用...

我最终得到了这样的终端:

但我想为每个输出添加一个时间戳。东西链接:

[14:23] acytryn ~ Projects %

有没有办法用 zsh 做到这一点?

【问题讨论】:

    标签: macos terminal zsh oh-my-zsh


    【解决方案1】:

    我发现在不完全覆盖现有提示的情况下实际将时间预先添加到现有提示中更具非破坏性。这使它可以与任何现有主题一起使用,而不会影响其样式。

    将此添加到您的 .zshrc 文件的末尾。您可以键入命令nano ~/.zshrc 使用nano 对其进行编辑:

    PROMPT='%{$fg[yellow]%}[%D{%f/%m/%y} %D{%L:%M:%S}] '$PROMPT
    

    我使用云主题,所以这给了我:

    它保留当前主题。您还可以通过更改颜色甚至格式来为时间戳添加一些样式。

    确保通过键入以下内容重新加载您的 .zshrc 文件:

    . ~/.zshrc
    

    source ~/.zshrc
    

    【讨论】:

    • 如何把这个放在屏幕的右边?
    • @ZulhilmiZainudin 从这篇文章看来,这可能是一项相当大的工作:superuser.com/questions/187455/right-align-part-of-prompt。您可以从那里的答案中尝试一些东西,看看它是否适合您。不过我还没有尝试过
    • 太棒了。按预期工作。谢谢。
    • 如果你只想要一个 24 小时的时间戳,你可以使用这个PROMPT='%{$fg[yellow]%}[%D{%T}] '$PROMPT
    • 稍微简化一下:可以去掉中间的} %D{部分。所以你会有PROMPT='%{$fg[yellow]%}[%D{%f/%m/%y %L:%M:%S}] '$PROMPT。这种方式对我有用。
    【解决方案2】:

    如果你想要它在右侧:

    RPROMPT="[%D{%f/%m/%y} | %D{%L:%M:%S}]"
    

    https://gist.github.com/zulhfreelancer/9c410cad5efa9c5f7c74cd0849765865

    【讨论】:

      【解决方案3】:

      将此添加到 ~/.zsh 文件的底部:

      PROMPT='[%T] %n ~ %d %%'
      

      【讨论】:

      • 我没有 .zsh 文件...应该在 .zshrc 上吗? (反正也没用)
      • 当你说“它还是没用”时,什么没用?把它放在 .zshrc 中,甚至在你的 zsh shell 中输入“PROMPT='[%T] %n ~ %d %%'”来试试?
      • 我添加到 .zshrc 文件的最后一个文件,运行 source ~/.zshrc 但没有任何改变。我正在使用 powerline-shell,我不知道这是否会以某种方式干扰。此外,直接将其粘贴到提示中没有输出
      • powerline-shell 使用precmd 函数在显示之前动态设置PROMPT 的值。您需要按照github.com/banga/powerline-shell 的说明修改您的提示。
      【解决方案4】:

      是的。 只需打开您的 ~/.zshrc 并在其末尾添加这一行(例如,在终端中使用 nano ~/.zshrc 命令):

      PROMPT='%{$fg[yellow]%}[%*] '$PROMPT
      

      你会得到这样的:

      您可以更改[%*]部分以获得其他格式:

       %D     The date in yy-mm-dd format.
       %T     Current time of day, in 24-hour format.
       %t %@  Current time of day, in 12-hour, am/pm format.
       %*     Current time of day in 24-hour format, with seconds.
       %w     The date in day-dd format.
       %W     The date in mm/dd/yy format.
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-16
        • 1970-01-01
        • 2020-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-16
        相关资源
        最近更新 更多