
O seguinte comando me envia um arquivo por e-mail:
sudo mail -a FILE_ADDRESS -s "Subject of E-mail" [email protected]
Pergunta: Como faço para transformar este comando em uma linha, para que eu possa digitar algo como
email_myself FILE_ADDRESS
Uma questão relacionada é a seguinte: existe uma maneira de fazer com que tudo o que preciso fazer seja clicar com o botão direito em um arquivo e então executar este comando nele? Ou fazer algo como enviar para mim mesmo por e-mail o conteúdo da minha área de transferência (de forma que, se for um arquivo, ele me envie o arquivo por e-mail ou, se for um texto, ele me envie o texto por e-mail)? (Observe que estou usando o Ubuntu). Acho que este seria um script incrivelmente útil :)
Responder1
Faça uma função:
email_myself() { sudo mail -a "$1" -s "Subject of E-mail" [email protected]; }
Se você deseja que sua função permaneça permanentemente e assumindo que esse bash
seja o seu shell, adicione a definição como uma linha ao seu arquivo ~/.bashrc
.
Para aqueles que preferem shell scripts a funções, crie um arquivo chamado email_myself
, torne-o executável ( chmod +x email_myself
) e salve-o em algum lugar no seu PATH
:
#!/bin/sh
sudo mail -a "$1" -s "Subject of E-mail" [email protected]
Outros mail
programas
No meu sistema, o mail
comando não funciona assim. Por um lado, sudo
é desnecessário. Por outro lado, -a
não anexa arquivo; é usado para especificar cabeçalhos adicionais. Assim, eu usaria:
email_myself() { mail -s "Subject of E-mail" [email protected] <"$1"; }