google-chrome - mailto:在 Ubuntu 中使用通知消息打开 google chrome

标签 google-chrome ubuntu mailto shebang

我正在编写一个小脚本来从 google chrome 小应用程序窗口中的网页打开 mailto 链接:

到目前为止,我有这个:

#!/bin/sh

notify-send "Opening Gmail" "`echo $1`" -i /usr/local/share/icons/hicolor/48x48/apps/google-chrome.png -t 5000
google-chrome -app="https://mail.google.com/mail/?extsrc=mailto&url=`echo $1`"

这很好用 - 但是我想将电子邮件收件人添加到通知中 - 像这样 - 但我需要一个正则表达式来从 mailto 链接获取电子邮件 - 这可能包含主题等..
#!/bin/sh

$str = preg_replace('#<a.+?href="mailto:(.*?)".+?</a>#', "$1", $str);
notify-send "Opening Gmail" "`echo $str`" -i /usr/local/share/icons/hicolor/48x48/apps/google-chrome.png -t 5000
google-chrome -app="https://mail.google.com/mail/?extsrc=mailto&url=`echo $1`"

这不起作用..

有任何想法吗?

更新:这是工作代码:
#!/bin/sh

str=$(echo $1|sed 's/.*mailto:\([^?]*\)?.*/\1/')
notify-send "Opening Gmail" "to: `echo $str`" -i /usr/local/share/icons/hicolor/48x48/apps/google-chrome.png -t 5000
google-chrome -app="https://mail.google.com/mail/?extsrc=mailto&url=`echo $1`"

最佳答案

这么写,就不是shell了:)

您可以提供示例字符串以使用正则表达式吗?基本上它将是 sed 调用,这将削减除地址之外的所有内容。虽然根据 RFC 的邮件地址可能相当复杂,所以简单的方法在大多数情况下都可以使用,但并非每次都有效。

尝试从类似的东西开始

sed 's/.*mailto:\([^?]*\)?.*/\1/'

所以你可能想像这样使用它:
str=$(echo $1|sed 's/.*mailto:\([^?]*\)?.*/\1/')

关于google-chrome - mailto:在 Ubuntu 中使用通知消息打开 google chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4887753/

相关文章:

javascript - Uncaught ReferenceError : define is not defined

jQuery 显示隐藏在 Chrome 和 FF 中不起作用

google-chrome - Chrome ffmpeg.js 无法制作超过 33 秒的视频

javascript - 如何在 Joomla 的 WYSIWYG 编辑器内的 mailto 链接中包含 & 符号

internet-explorer - MAILTO 每个互联网浏览器的最大长度?

html - mailto 链接无法使用 Bootstrap

css - 为什么 Linux 上的 Chrome 显示错误的字体粗细?

python-3.x - Ubuntu 上的 Pycharm 默认解释器和 tmp 工作目录

C 共享库 : static variable initialization + global variable visibility among processes

ubuntu - FFMPEG amr 到 mp3 的转换问题