Answers:
将此行添加到~/.bashrc
文件中:
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "
因此输出将类似于:
[07:00:31] user@name:~$
date
命令,您可以替换+%H:%M:%S
为+%T
。
我的解决方案是使用http://bashrcgenerator.com/生成此PS1行以放入.bashrc中:
export PS1="\t [\u@\h \W]\\$ \[$(tput sgr0)\]"
看起来像
13:05:54 [chad@work-laptop:~/Downloads]$ ls -al
使用PROMPT_COMMAND为我弄乱了历史。在循环浏览历史记录时,如果出现较长的行,则会以与添加到前面的时间戳相同的字符数截断提示的结尾。例如
13:14:38 [chad@work-laptop:~/Doexport PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\\] "
此行不能编辑,因为它没有在正确的位置显示字符,因为您没有在看起来像键入的位置键入内容。
我猜测可以使用PROMPT_COMMAND来完成,也许可以使用[$(tput sgr0)]部分,但是PS1可以工作。
而不是添加日期的提示本身,你可以添加日期之前通过将下面一行在提示符顶你的.bashrc
。为此,您还需要安装cowsay
。这是一种显示日期并保持简短提示的有趣方式:
cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"
以其当前形式,它将读取当前环境中的$USER
和date
变量,而无需修改即可在任何系统上运行。
由于我的信誉度不足,无法在答案中添加评论以改善答案。似乎我可以添加信息的唯一方法是创建第二个答案。因此,我将重复回答的内容并以此为基础。
编辑您想要为其修改日期戳的用户的.bashrc文件。
如果看到“ user @ host:〜$”,则位于当前用户的主目录中。.bashrc文件是一个隐藏文件,因为它的前缀是点“。”。要在列表中查看它,您将需要使用长列表。
您可以使用“ ls -a”,然后应看到“ .bashrc”文件。
使用文本编辑器编辑文件。例如,“ nano .bashrc”,“ vim .bashrc”,“ vi .bashrc”,“ pico .bashrc”或任何您想使用的编辑器。
如果要对此编写脚本并计划将其添加到许多用户的许多外壳中,则最好将“ echo”命令与附加“ >>”运算符结合使用。例如,
echo "export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"" >> .bashrc
如果使用该方法,请确保您位于要对其进行修改的用户的当前工作目录中。要检查这一点,可以使用“ pwd”或打印工作目录命令。
如果您不喜欢在“]”尾括号和用户名之间留出多余的空格,请使用经过稍微修改的正则表达式:
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"
如果您直接编辑文件,请使用此选项。
只是添加到@ devav2的答案中:
对于新手来说,更容易阅读的echo命令是:
export PROMPT_COMMAND='echo -n "$(date +%H:%M:%S) "'
代替
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "
由于echo命令不是要在导出时进行评估,因此使用单引号而不是双引号会更有意义。使用单引号引用完整的命令,然后允许你使用双引号的arguement引用到echo命令,无需特殊字符转义像,
[
和$
我认为正确的处理方法是找到$HOME/.bashrc
设置的代码PS1
,对其进行注释并添加个人代码。例如,这是我的方块:
PS1_DATE="\D{%Y-%m-%d %H:%M:%S}"
if [ "$color_prompt" = yes ]; then
PS1="[$PS1_DATE \[\e]0; \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[\033[00m\]\[\033[01;34m\]\w \[\033[00m\]\$] "
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='[$PS1_DATE ${debian_chroot:+($debian_chroot)}\w \$] '
#PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
输出:
[2019-06-18 15:54:29 ~/Desktop $] echo "It's late!"
我的时间与上述cowsay
答案相似。你需要把now
你的~/.bashrc
,但你也可以通过键入调用它从终端now
。
这是屏幕截图:
bash代码发布在这个非常详细的答案中:
export PROMPT_COMMAND="echo -n \[\$(date +%F-%T)\]\ "
export HISTTIMEFORMAT="%F-%T "
至少对我来说很方便。