Unix 如果终端命令耗时超过x秒,如何发送通知?
我正在寻找一种方法,为任何超过60秒的进程向自己发送通知 要发送通知,我可以使用Unix 如果终端命令耗时超过x秒,如何发送通知?,unix,terminal,zsh,Unix,Terminal,Zsh,我正在寻找一种方法,为任何超过60秒的进程向自己发送通知 要发送通知,我可以使用 notify send-t1“hey命令已完成” 是否有一种方法可以将配置文件保存到某个地方,或在我的zsh中自动执行此行为 与此类似,将以下内容添加到您的.zshrc文件中: notify(){ 在此函数中模拟-L zsh#重置shell选项。 #从历史记录中获取最后一个已用时间的命令: local-a stats=(“${=$(fc-Dl-1)}”) #=将字符串拆分为单词数组。 #经过的时间是数组中的第二个
notify send-t1“hey命令已完成”
是否有一种方法可以将配置文件保存到某个地方,或在我的zsh
中自动执行此行为
与此类似,将以下内容添加到您的.zshrc
文件中:
notify(){
在此函数中模拟-L zsh#重置shell选项。
#从历史记录中获取最后一个已用时间的命令:
local-a stats=(“${=$(fc-Dl-1)}”)
#=将字符串拆分为单词数组。
#经过的时间是数组中的第二个字。
#将经过的分钟(可能是小时)转换为秒:
本地-a时间=(“${(s.:.)stats[2]}”)
本地-i秒=0多个=1
而($#time[@])呢
((秒+=mult*时间[-1]))
((mult*=60))
轮班时间
完成
((秒>=60))&&
通知发送-t1\
“嘿,命令'$stats[3,-1]'在$s内完成”
返回0#始终返回“true”以避免任何打嗝。
}
#在每次提示之前调用上述函数:
自动加载-Uz添加zsh挂钩
添加zsh hook precmd notify