当前位置: 首页 > news >正文

安徽省城乡建设网站免费网站推广网站短视频

安徽省城乡建设网站,免费网站推广网站短视频,网站手机模板的特点,福州网站建设外包大家好,我是良许。 现在人手一部智能手机,这些智能手机都有个非常实用的功能,那就是弹窗提醒。当我们收到短信,或者微信信息时,手机就会弹窗显示信息的大致内容。有了这个功能你就不会错过重要信息了。 电脑上也有类…

大家好,我是良许。

现在人手一部智能手机,这些智能手机都有个非常实用的功能,那就是弹窗提醒。当我们收到短信,或者微信信息时,手机就会弹窗显示信息的大致内容。有了这个功能你就不会错过重要信息了。

电脑上也有类似的功能,也很实用。但这个功能都是系统级别,我们能不能通过脚本方式去调用这个弹窗功能呢?

答案是肯定的!

例如,当脚本或 cron 任务完成时,长时间运行的编译任务失败,或者脚本执行过程中出现紧急问题,这些情况下如果能在电脑上弹出一条提醒,肯定会让隔壁的美女同事刮目相看!

file

以下代码已在 Linux 系统上编写并测试通过,也可以移植到 Mac 电脑上。

从 Linux 终端发送弹窗通知

要从 Linux 终端发送通知,需要使用 notify-send 命令。这个命令大部分发行版都没有默认安装,需要我们自行动手。

在 Fedora 上,输入:

$ sudo dnf install notify-send

在基于 Debian 的发行版上,键入:

$ sudo apt install notify-send

几个简单弹窗通知的例子:

$ notify-send "liangxu is great!!"
$ notify-send "welcome to liangxu's website" "www.lxlinux.net"

这个命令不仅支持弹窗,还可以修改紧急程度、自定义图标等。更多信息可以通过 man notify-send 来查询。

你还可以在通知正文中使用一小段 HTML 标记来为你的信息增加一些格式,比如:加粗、斜体,等等。最重要的是,URL 还支持点击,非常方便。例如:

$ notify-send -u critical \"Build failed!" \"There were <b>123</b> errors. Click here to see the results: http://buildserver/latest"

file

发送的通知跟系统的其它通知样式一样,外观、行为并无二致。

结合 at 命令使用 notify-send

cron 命令通常用于定期调度任务,at 命令则是在指定时间单次执行指定命令。如果你像下面这样运行 at 命令,它会以交互模式启动,然后你可以在其中输入你要执行的命令:

$ at 12:00

但我们一般不这么使用它。

at 命令可以接受来自标准输入的参数,例如:

$ echo "npm run build" | at now + 1 minute
$ echo "backup-db" | at 13:00

熟练使用 Linux 的小伙伴都知道,我们有多种指定时间的方法。

  • 绝对时间,例如 10:00

  • 相对时间,例如 now + 2 hours

  • 特殊时间,例如 noonmidnight

利用 at 命令的这些特性,我们可以将它与 notify-send 命令结合使用,达到在未来的某个时间弹窗提醒的效果。例如:

$ echo "notify-send 'Stop it and go home now?' 'Enough work for today.' -u critical" | at now

file

编写脚本实现弹窗通知功能

现在我们知道 nofity-send 怎么玩了,但每次都要敲这么长的一串命令还是很不方便。

作为程序员,我们能偷懒就偷懒,自己动手写脚本把这个功能封装起来!

比如我们把它封装成一个 Bash 命令 remind ,然后通过下面方式来调用它:

$ remind "I'm still here" now
$ remind "Time to wake up!" in 5 minutes
$ remind "Dinner" in 1 hour
$ remind "Take a break" at noon
$ remind "It's Friday pints time!" at 17:00

简直太特么方便了!

实现起来也很简单,我们可以将脚本保存在某个位置,例如,在 ~/bin/ 目录中,并在 .bashrc 配置文件中让它生效,以便在登录时加载它:

$ source ~/bin/remind

脚本内容如下:

#!/usr/bin/env bash
function remind () {local COUNT="$#"local COMMAND="$1"local MESSAGE="$1"local OP="$2"shift 2local WHEN="$@"# Display help if no parameters or help commandif [[ $COUNT -eq 0 || "$COMMAND" == "help" || "$COMMAND" == "--help" || "$COMMAND" == "-h" ]]; thenecho "COMMAND"echo "    remind <message> <time>"echo "    remind <command>"echoecho "DESCRIPTION"echo "    Displays notification at specified time"echoecho "EXAMPLES"echo '    remind "Hi there" now'echo '    remind "Time to wake up" in 5 minutes'echo '    remind "Dinner" in 1 hour'echo '    remind "Take a break" at noon'echo '    remind "Are you ready?" at 13:00'echo '    remind list'echo '    remind clear'echo '    remind help'echoreturnfi# Check presence of AT commandif ! which at >/dev/null; thenecho "remind: AT utility is required but not installed on your system. Install it with your package manager of choice, for example 'sudo apt install at'."returnfi# Run commands: list, clearif [[ $COUNT -eq 1 ]]; thenif [[ "$COMMAND" == "list" ]]; thenat -lelif [[ "$COMMAND" == "clear" ]]; thenat -r $(atq | cut -f1)elseecho "remind: unknown command $COMMAND. Type 'remind' without any parameters to see syntax."fireturnfi# Determine time of notificationif [[ "$OP" == "in" ]]; thenlocal TIME="now + $WHEN"elif [[ "$OP" == "at" ]]; thenlocal TIME="$WHEN"elif [[ "$OP" == "now" ]]; thenlocal TIME="now"elseecho "remind: invalid time operator $OP"returnfi# Schedule the notificationecho "notify-send '$MESSAGE' 'Reminder' -u critical" | at $TIME 2>/dev/nullecho "Notification scheduled at $TIME"
}

好好玩玩吧!


学习编程,千万不要急于求成,一定要多读一些经典书籍,多看源码,多下苦功夫去死磕代码,这样技术才能长进。给大家分享一些程序员必读经典书籍,一定要多读几遍:

file

推荐阅读:

  • 干货 | 程序员进阶架构师必备资源免费送
  • 刷题 | LeetCode算法刷题神器,看完 BAT 随你挑!

欢迎关注我的博客:良许Linux教程网,满满都是干货!

http://www.15wanjia.com/news/4102.html

相关文章:

  • 织梦如何一个后台做两个网站北京seo外包平台
  • 开发比较实用的软件怎么优化网站关键词的方法
  • lnmp搭建后怎么做网站百度热点榜单
  • 做神马网站快速排名软重庆百度推广电话
  • 出口非洲的外贸公司seo诊断优化方案
  • 学网站建设需要什么工具国外搜索引擎排名
  • 淘客网站seo怎么做seo培训一对一
  • 电子商务网站开发的流程seo在线培训机构
  • 开发公司工程部职责重庆seo推广服务
  • 烟台电商网站建设关键词研究工具
  • 网站建设技术方面的体会佛山关键词排名工具
  • 江门网站建设总部电话资源搜索神器
  • 特效比漂亮的网站做个公司网站多少钱
  • 做动漫游戏网站杭州企业seo
  • 温州企业模板建站2024北京又开始核酸了吗今天
  • 正规的网站制作服务商黑科技引流推广神器
  • 医院网站域名备案青岛最新消息
  • 网站原型的交互怎么做厦门搜索引擎优化
  • 外贸公司的网站怎么做外贸营销网站建设
  • 搭建直播网站需要怎么做培训班报名
  • 网站收录上万没有流量东莞网站建设推广技巧
  • 酒店网站建设描述网站关键词排名如何提升
  • 网站开发排行榜数据分析网站
  • 温州 做网站新闻发稿平台
  • 武昌网站建设公司百度快照客服
  • 工行网站如何做理财风险评估今日头条新闻最新
  • 汕头市国外网站建设公司东莞网站到首页排名
  • 制作网页按钮宁波网站推广优化哪家正规
  • 怎样注册网站卖东西网址搜索引擎入口
  • 杭州做网站公司网络营销案例范文