linux - 如何记录每个命令的持续时间/结果并使用“历史”显示此信息?
问题描述
我有一些命令需要很长时间才能运行。我希望能够在历史上跟踪所有这些。
我查看了历史标志,但那些似乎只显示命令开始的时间/日期和状态代码。
解决方案
部分回答您的问题,这是我的一个功能,.zshrc
用于在命令花费超过 10 秒时发送桌面通知。
您可以适应构建自己的历史文件。
(要获得通知,您必须具有 notify-send 或 adapt $notifier
)
notifier=notify-send
if [[ ${TERM[1,5]} == xterm ]]; then
preexec() {
notifiable_cmd=$1
notifiable_start_time=`date +%s`
}
precmd() {
if (( $? == 0 )); then
notifiable_status="Success in "
else
notifiable_status="Failed in "
fi
if [[ "$notifiable_cmd" != "" ]]; then
(( notifiable_time = `date +%s` - $notifiable_start_time ))
if [[ $notifiable_time -ge 60 ]]; then
notifiable_str_time="$(($notifiable_time%100000/60)) min $(($notifiable_time%60)) s"
else
notifiable_str_time="$notifiable_time[1,5] s"
fi
if [[ $notifiable_time -gt 10 ]]; then
$notifier $notifiable_cmd "$notifiable_status $notifiable_str_time"
fi
fi
notifiable_cmd=
}
fi
(改编自contrapunctus.net 上 zsh 完成作业后咆哮的这篇文章)
推荐阅读
- recursion - Y-combinator 似乎没有任何作用
- c - C - 套接字无法连接到 SMTP 服务器
- xamarin.ios - 模态视图弹出框:总是全屏?
- webdriver - 持续集成解决方案
- css - CSS 视频背景无法在 android 的 chrome 上播放
- python - 创建直方图并了解 maplotlib 轴和子图
- python - 如何以'-'作为分隔符拆分列表,同时字符串包含'-'?
- java - 如何仅将 CSV 中的唯一值添加到 ComboBox 中?
- python - 在函数内部创建动态变量名(使用 self)
- html - 如何使用 css 而不是数据表插件向数据表添加水平滚动条?