Linux 如何使用PS1变量在终端提示中显示时间?

Linux 如何使用PS1变量在终端提示中显示时间?,linux,bash,shell,terminal,Linux,Bash,Shell,Terminal,众所周知,我们可以修改“PS1”变量来更改Linux或MAC OS上终端的提示,我已经将“PS1”变量更改为 PS1=“\[\033[0;37;40m\u@\033[0;36;40m\h:\033[0;35;40m\w$\033[0m^.^\t\]”,我的终端提示可以这样显示。 按下“回车”按钮后,时间将被更新,现在我想让时间字符串在一行中自动更新。我怎么做?我使用bash。如果您使用的是zshshell 编辑~/.zshrc添加以下行: setopt PROMPT_SUBST PROMPT

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


按下“回车”按钮后,时间将被更新,现在我想让时间字符串在一行中自动更新。我怎么做?我使用bash。

如果您使用的是
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。^
bash
将提示写入标准错误,但在超过该点时无法控制它。它无法返回并编辑它。太遗憾了!无法执行此操作。