0
我想在長時間運行命令完成時獲得通知。如何在程序執行時間超過x秒的情況下執行腳本
例如,我需要在git pull
完成時獲得通知。 現在我可以使用git pull; tput bel
和終端應用程序會告訴我,控制檯需要我的關注。
對於我在運行超過10秒的shell中輸入的每個命令,是否可以執行tput bel
?
我使用tput bel,因爲它可以從本地和遠程ssh會話中使用。
我想在長時間運行命令完成時獲得通知。如何在程序執行時間超過x秒的情況下執行腳本
例如,我需要在git pull
完成時獲得通知。 現在我可以使用git pull; tput bel
和終端應用程序會告訴我,控制檯需要我的關注。
對於我在運行超過10秒的shell中輸入的每個命令,是否可以執行tput bel
?
我使用tput bel,因爲它可以從本地和遠程ssh會話中使用。
謝謝@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,以顯示每個命令的持續時間(以秒爲單位)。
請參閱[自動計時每個執行的命令並顯示在Bash提示?](http://stackoverflow.com/questions/1176386/automatically-timing-every-executed-command-and-show-in-bash-prompt)並擴展以適應您的需求。 – RedX