Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 如果终端命令耗时超过x秒,如何发送通知?_Unix_Terminal_Zsh - Fatal编程技术网

Unix 如果终端命令耗时超过x秒,如何发送通知?

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)}”) #=将字符串拆分为单词数组。 #经过的时间是数组中的第二个

我正在寻找一种方法,为任何超过60秒的进程向自己发送通知

要发送通知,我可以使用

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