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

标签 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\]",我的终端提示可以这样显示。

enter image description here

时间会在我按下“enter”按钮后更新,现在我想让时​​间字符串可以在一行中自动更新。我该怎么做?我用的是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 更新您的终端

关于linux - 如何使用 PS1 变量在终端提示符中显示时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26422980/

相关文章:

带有标志的 Java 命令在 bash 中运行但不在 zsh 中运行

bash -c 具有不同的参数语义($1 变为 $0!)

c - 在C中制作自己的shell

unix - cron 作业在 DST 后更改时间

bash - bash变量扩展中出现奇怪的字符

c++ - 共享内存段键突然改变

linux - 当 ls 找不到结果时 bash ls 输出到文件

c++ - 如何在 linux 中对文件执行位操作?

linux - 如何与 session 一起自动停止后台ssh隧道?

linux -/bin/sh : pushd: not found