bash - 如何将最后一条命令的挂钟时间放入 Bash 提示符中?

标签 bash time prompt

有没有办法将最后一个命令的已用时间嵌入到 Bash 中?迅速的?我希望看起来像这样:

[last: 0s][/my/dir]$ sleep 10
[last: 10s][/my/dir]$

背景

我经常运行长时间的数据处理作业,了解它们花费了多长时间非常有用,这样我就可以估计 future 的作业需要多长时间。对于非常常规的任务,我会继续使用适当的日志记录技术严格记录这些信息。对于不太正式的任务,我将在命令前加上 time

如果能够自动计时每个单独的交互式命令,并以几个字符而不是 3 行打印计时信息,那就太好了。

最佳答案

这是实现您想要的最小独立代码:

function timer_start {
  timer=${timer:-$SECONDS}
}

function timer_stop {
  timer_show=$(($SECONDS - $timer))
  unset timer
}

trap 'timer_start' DEBUG
PROMPT_COMMAND=timer_stop

PS1='[last: ${timer_show}s][\w]$ '

关于bash - 如何将最后一条命令的挂钟时间放入 Bash 提示符中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1862510/

相关文章:

macos - awk:根据用户输入对文件进行排序

regex - 在 bash 脚本中的 awk 命令中使用正则表达式

java - 我怎样才能找到两个时间之间的差异?

batch-file - 使用命令提示符复制文件夹并重命名

BASH - 提示粘贴多行输入保存到文件

powershell - 如何在powershell中隐藏 "PS C:\>"?

无法使用文件描述符通过 fstat() 或 lseek() 获取文件大小

java - 时间转换问题

c++ - SQL 错误 : near ".2016": syntax error

bash - 如何将当前工作目录设置为 Bash 中脚本的目录?