Следующая команда отправляет мне файл по электронной почте:
sudo mail -a FILE_ADDRESS -s "Subject of E-mail" [email protected]
Вопрос: Как превратить эту команду в однострочную, чтобы можно было просто ввести что-то вроде
email_myself FILE_ADDRESS
Похожий вопрос: есть ли способ сделать так, чтобы мне нужно было просто щелкнуть правой кнопкой мыши по файлу, а затем выполнить эту команду? Или сделать что-то вроде отправки по электронной почте содержимого моего буфера обмена (например, если это файл, он отправляет мне по электронной почте файл, или если это текст, он отправляет мне по электронной почте текст)? (Обратите внимание, что я использую Ubuntu). Я думаю, что это был бы невероятно полезный скрипт :)
решение1
Создайте функцию:
email_myself() { sudo mail -a "$1" -s "Subject of E-mail" [email protected]; }
Если вы хотите, чтобы ваша функция работала постоянно, и если это bash
ваша оболочка, добавьте определение в виде строки в ваш ~/.bashrc
.
Для тех, кто предпочитает shell-скрипты функциям, создайте файл с именем email_myself
, сделайте его исполняемым ( chmod +x email_myself
) и сохраните его где-нибудь на своем компьютере PATH
:
#!/bin/sh
sudo mail -a "$1" -s "Subject of E-mail" [email protected]
Другие mail
программы
В моей системе mail
команда так не работает. Во-первых, sudo
она не нужна. Во-вторых, -a
она не прикрепляет файл; она используется для указания дополнительных заголовков. Поэтому я бы использовал:
email_myself() { mail -s "Subject of E-mail" [email protected] <"$1"; }