dev*_*av2 87
将此行添加到~/.bashrc文件中:
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "
Run Code Online (Sandbox Code Playgroud)
所以输出将类似于:
[07:00:31] user@name:~$
Run Code Online (Sandbox Code Playgroud)
dog*_*ato 42
我的解决方案是使用http://bashrcgenerator.com/生成此 PS1 行以放入 .bashrc:
export PS1="\t [\u@\h \W]\\$ \[$(tput sgr0)\]"
Run Code Online (Sandbox Code Playgroud)
哪个看起来像
13:05:54 [chad@work-laptop:~/Downloads]$ ls -al
Run Code Online (Sandbox Code Playgroud)
使用 PROMPT_COMMAND 会弄乱我的历史记录。当在历史记录中循环时出现更长的行时,它会以与添加到前面的时间戳相同数量的字符截断提示的结尾。例如
13:14:38 [chad@work-laptop:~/Doexport PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\\] "
Run Code Online (Sandbox Code Playgroud)
并且无法编辑此行,因为它没有在正确的位置显示字符,因为您没有在看起来正在输入的位置进行输入。
我猜它可以用 PROMPT_COMMAND 来完成,也许通过使用 [$(tput sgr0)] 部分,但 PS1 可以工作。
小智 15
而不是添加日期的提示本身,你可以添加日期之前只是通过将下面一行提示符顶你的.bashrc。对于它的工作,您还需要安装cowsay. 这是一种在保持简短提示的同时显示日期的有趣方式:
cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"
Run Code Online (Sandbox Code Playgroud)
在当前形式下,它可以在任何人的系统上工作而无需修改,因为它从当前环境中读取$USER和date变量。

在命令提示符中显示时间戳的最简单语法可能是:
PS1='\D{%F} \t $...'
Run Code Online (Sandbox Code Playgroud)
在哪里
\D{format}日期格式(参见man bash提示部分)为
%F完整日期;与 %Y-%m-%d 相同(请参阅man date格式部分),并且
\t是 24 小时制 HH:MM:SS 格式的当前时间(请参阅man bash“提示”部分)
nano ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
如上所示更改 PS1 变量
source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
由于我没有足够的声望点来为答案添加评论以改进它。似乎我可以添加信息的唯一方法是创建第二个答案。所以,我将重复刚才所说的作为答案并以此为基础。
编辑要为其修改日期戳的用户的 .bashrc 文件。
如果您看到“user@host:~$”,您就在当前用户的主目录中。.bashrc 文件是一个隐藏文件,因为它以点“.”为前缀。要在列表中查看它,您需要使用一个长列表。
您可以使用“ls -a”,然后您应该会看到“.bashrc”文件。
使用文本编辑器编辑文件。例如,“nano .bashrc”、“vim .bashrc”、“vi .bashrc”、“pico .bashrc”或您想使用的任何编辑器。
如果您想为此编写脚本并计划将其添加到许多用户的许多 shell 中,将“echo”命令与附加“>>”运算符结合使用可能会有所帮助。例如,
echo "export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"" >> .bashrc
Run Code Online (Sandbox Code Playgroud)
如果您使用该方法,请确保您位于要为其修改它的用户的当前工作目录中。要检查这一点,您可以使用“pwd”或打印工作目录命令。
如果你不喜欢“]”结束括号和用户名之间的额外空间,只需使用这个稍微修改过的正则表达式:
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"
Run Code Online (Sandbox Code Playgroud)
如果您直接编辑文件,请使用此选项。