一尘不染

在bash中的每个命令之后执行命令

linux

我想在我运行的每个bash命令之后打印日期。

这可以帮助我了解远离键盘时要执行多少命令。

我知道我能做

`DATE=`date +%d/%m/%Y\ %H:%M:%S` && echo $DATE`

获取日期,但我不知道在bash上执行的每个命令之后如何甚至是否可以运行此命令。

我也会对在每个命令 之前 运行同一命令感兴趣,因此我可以知道一个命令花费了多长时间。

可能吗?

我应该编辑什么文件?

例如:

$ wget google.com
15/07/2017 23:40:05

如果我也可以介绍以下功能,我将很高兴:

$ wget google.com
15/07/2017 23:40:05 15/07/2017 23:40:11 
Program run for 00:00:06

第一个日期是我运行程序的日期,第二个是程序终止时的日期,第三个是不言而喻的。

如您所知,我不想每次都键入

$ wget google.com && `DATE=`date +%d/%m/%Y\ %H:%M:%S` && echo $DATE`

阅读 297

收藏
2020-06-03

共1个答案

一尘不染

要在输入每个命令之前执行cmd,请在DEBUG上设置一个陷阱。例如。

trap date DEBUG

要在发出提示之前执行该命令,请设置PROMPT_COMMAND:

PROMPT_COMMAND=date
2020-06-03