我希望在长时间运行命令完成时获得通知。
例如,我需要在git pull
完成时获得通知。
现在我可以使用git pull; tput bel
,终端应用程序会告诉我控制台需要我注意。
对于我在运行时间超过10秒的shell中输入的每个命令,是否可以执行tput bel
?
我正在使用tput bel,因为它适用于本地和远程ssh会话。
答案 0 :(得分:1)
谢谢@RedX我找到了我需要的东西。我最终将此添加到我的.bash_profile:
function timer_start {
timer=${timer:-$SECONDS}
}
function timer_stop {
timer_show=$(($SECONDS - $timer))
if [[ $timer_show -ge '10' ]]; then
tput bel
fi
unset timer
}
trap 'timer_start' DEBUG
PROMPT_COMMAND=timer_stop
这将执行tput bell
,每当我的命令执行时间超过10秒时,我的终端会在失焦时反弹。
此外,您可以将$ timer_show添加到PS1,以显示每个命令的持续时间。