2011-02-03 2 views
0

Я пишу небольшой скрипт, чтобы открыть почтовые ссылки с веб-страниц в Google Chrome небольшого окна приложения:электронной почты: открыт Google Chrome в Ubuntu с извещать тзд

до сих пор у меня есть это:

#!/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`" 

это не работает.

любые идеи?

UPDATE: вот рабочий код:

#!/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`" 

ответ

1

Если вы пишете это так, это не оболочка :)

Можете ли вы предоставить строку выборки использовать регулярное выражение к? В основном это будет sed invocation, который будет вырезать все, кроме адреса. Хотя почтовый адрес в соответствии с RFC может быть довольно сложным, поэтому простой подход будет работать в большинстве случаев, но не каждый раз.

Попробуйте начать с чего-то вроде

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

Таким образом, вы можете использовать его как это:

str=$(echo $1|sed 's/.*mailto:\([^?]*\)?.*/\1/') 
+0

Это может быть любая ссылка на сайт - например: MAILTO: [email protected] Заголовок = Тема сообщения –

+0

велик - что похоже, отлично работает - спасибо –

0

Отлично! Я получил свой сценарий и сделал некоторые изменения, чтобы работать лучше, выглядеть:

#!/bin/sh 

str=$(echo $1|sed 's/.*mailto:\([^?]*\)?.*/\1/') 
notify-send "Abrindo Gmail" "to: `echo $str`" -i /usr/local/share/icons/hicolor/48x48/apps/google-chrome.png -t 5000 
chromium-browser "https://mail.google.com/mail/?view=cm&fs=1&tf=1&source=mailto&to=$1" 

 Смежные вопросы

  • Нет связанных вопросов^_^