[原创小工具] 完美结合CLI和GUI的notify!

作为一个大忙人,相信你经常开N个终端干活;作为一个CLI控,相信你也经常使用wget之类的工具下载东西。

你是否希望能在make完成、wget完成之后能有一个工具来通知你呢?为了追求效率总不可能盯着终端,或者经常切来切去地看吧?

现在隆重推出----notify:一个完美结合CLI和GUI的小工具,帮助CLI控们在做一些消耗时间的任务时,能在第一时间得到有效的提醒。

嗯,有图有真相:

应用场景:sudo apt-get update

这是用Deiban系的Linuxer经常执行的一条命令,而且会花点时间。何不用notify在update完后告诉你呢?

很简单,这样就用就行了:

notify sudo apt-get update

[![Notify

01](/media/uploads/2010/07/notify-01.png)](/media/uploads/2010/07/notify-01.png)

执行完这条命令后,你就可以去干其他事情了。

当update完成后,notification机制能非常有意思地提醒你:Cool~"sudo apt-get update" finished!

[![Notify

02](/media/uploads/2010/07/notify-02.png)](/media/uploads/2010/07/notify-02.png)

同理,如果你在./configure,make等很消耗时间的任务上,也可以这么做。

假设这次失败了,notify会说:Oh No! "./configure" failed!

[![Notify

02](/media/uploads/2010/07/notify-03.png)](/media/uploads/2010/07/notify-03.png)

哈哈,是不是很有意思呢?

实际上这只是一个非常简单的小脚本,但是对我来说非常有用。

喜欢的话,到这个地址下载吧: http://github.com/tualatrix/tools/raw/master/bin/notify

下载后直接放在$PATH路径下即可,另外建议在~/.bashrc中加入

complete -o filenames -F _root_command notify

这样bash补全的时候会有比较好的效果。

Enjoy!

<推广> Manico 是一个专门为 OS X 高效率人士设计的 App 启动与切换工具,使用它将加倍电脑日常使用的效率。

37 Comments

  1. 这个的确看上去不错
    很短的一句。。

  2. 原来只有一行…… Bash 威武……

  3. linux让生活更方便,我刚想试这段代码,却发现刚刚为了打游戏,重启进的windows

  4. 嗯,很方便的小工具!

  5. 借问一句,如何像截图中那样将

    TualatriX@TualatriX-laptop ~ $

    这一行设置上颜色呢?

    多谢!

  6. 不会编这么高级的程序,曾经为了在服务器做完工作后发一封邮件给我,达到同样的目的,就是没有这么优美

  7. TX用中文了?以前看你截图的系统环境都是英文的,还以为你 :(

  8. 主席V5了...需求阿

  9. 恩,很好!不过ubuntu only

    还是邮件美,139的有短信通知 :)

    适合服务器

    • notify-send 别的发行版也有啊,只有图标是ubuntu的,可以自己整个对号或叉来用

  10. 自娱自乐,哈哈哈哈哈哈

  11. 原来是要先装notify-send的,还好对于我这种菜鸟还能够在Google找到。
    如果你遇到:
    /bin/notify: line 6: notify-send:找不到命令
    /bin/notify: line 7: notify-send:找不到命令

    那么请先安装:notify
    sudo apt-get install libnotify-bin

  12. 需要安装libnotify-bin包·
    另外一直怨念不能点击通知来聚焦对应的程序(比如执行完make的那个终端)。

  13. 嗯嗯,很有创意嘛~

  14. 主席,我想问下你对 notify-send 中用 &lt;span&gt;&lt;/span&gt;熟么?

  15. 充分利用了$* &amp;&amp; ||

  16. 建议通过 growl 加入对 OS X 的支持。谢谢!

  17. 用了才知道,我这个10.04竟然没有libnotiify-bin,要apt了才可以

    呃,这个以什么协议发布的?想改之……放心,开源是必定的

  18. 低碳版:

    #!/bin/bash
    $*
    notify-send -t 0 &quot;DONE($?): $*&quot;

    源自:http://github.com/jjthrash/jimmyconf/blob/master/bin/n

  19. 好棒,对了,您的RSS好像被墙了。

  20. 哈哈,加一个 KDE 版的:

    http://gitorious.org/mles/mles/blobs/master/runnnotify.sh

    感觉先根据命令执行情况生成 message 然后再在后面一并处理比较好~

  21. 报告一下,好像只对原生的命令有用,而对alias的命令无效……

    $ notify update
    /bin/notify: line 14: update:找不到命令

    $ type update
    update 已被别名为“sudo apt-get update”

  22. 那两个图标怎么弄呢?
    黑漆漆的,没个图标,真不好看

  23. 原来还得full path. /usr/share/icons/Humanity/emblems/32/emblem-cool.png

  24. 写了一个可以远程通知的版本,呵呵:

    http://blog.csdn.net/grissiom/archive/2010/08/10/5802122.aspx

  25. 1. 下载地址需更新了 http://github.com/tualatrix/tools/raw/master/bin/notify
    2. 觉得这个应该做成bashrc里的函数的形式,以支持bash alias。

  26. 比如说我的bashrc里就写了:

    notify () {
    eval $* &amp;&amp; \
    growlnotify -m &quot;Cool~ \&quot;$*\&quot; finished!&quot; || \
    growlnotify -m &quot;Oh No! \&quot;$*\&quot; failed!&quot;
    }

Leave a Comment