【问题标题】:How to display time in terminal prompt,using PS1 variable?如何在终端提示符中显示时间,使用 PS1 变量?
【发布时间】:2014-10-17 10:24:30
【问题描述】:

众所周知,我们可以通过修改“PS1”变量来改变我们在Linux或MAC OS上的终端提示,我将“PS1”变量改为
PS1="\[\033[0;37;40m\u@\033[0;36;40m\h:\033[0;35;40m\w$\033[0m^.^\t \]",我的终端提示可以像这样显示。

按下“enter”按钮后时间会更新,现在我想让时​​间字符串可以在一行中自动更新。我该怎么做?我使用bash。

【问题讨论】:

  • bash 将提示写入标准错误,但在此之后无法控制它。它无法返回并对其进行编辑。
  • 真可惜!没办法。

标签: linux bash shell terminal


【解决方案1】:

如果你使用zsh shell 编辑~/.zshrc 添加以下行:

setopt PROMPT_SUBST
PROMPT='%B%F{red}%n@%m%f%F{yellow}[%D{%L:%M:%S}]%f:%F{blue}${${(%):-%~}}%f$ %b'
TMOUT=1

TRAPALRM() {
    zle reset-prompt
}

保存并使用source .zshrc更新您的终端

【讨论】:

  • 对于标记为bash,而不是zsh 的问题,这是一个很大的“如果”。
  • 是的,但在问题中从未命名为 bash
  • 标签是问题的部分。
  • @JoaoBiriba 谢谢你的回答,zsh 很强大,但是我用的是 bash ,我想我会试试 zsh。 ^.^
猜你喜欢
  • 2014-09-08
  • 2022-06-18
  • 1970-01-01
  • 1970-01-01
  • 2020-08-23
  • 1970-01-01
  • 2014-06-27
  • 1970-01-01
  • 2010-12-20
相关资源
最近更新 更多