Scripts para enviar por e-mail um arquivo para mim

0

O seguinte comando me envia um arquivo:

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 eu fazer com que tudo que eu tenha que fazer é apenas clicar com o botão direito em um arquivo, e então eu posso executar este comando nele? Ou faça algo como enviar por e-mail o conteúdo da minha área de transferência (de modo que, se for um arquivo, me envie por e-mail o arquivo ou, se for texto, envie-me o texto por e-mail)? (Note que estou usando o Ubuntu). Eu acho que isso seria um script incrivelmente útil:)

    
por George 09.10.2014 / 22:12

1 resposta

4

Faça uma função:

email_myself() { sudo mail -a "$1" -s "Subject of E-mail" [email protected]; }

Se você quiser que sua função permaneça permanentemente, e assumindo que bash é seu shell, adicione a definição como uma linha ao seu ~/.bashrc .

Para aqueles que preferem scripts de shell 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 comando mail não funciona assim. Por um lado, sudo é desnecessário. Para outro, -a não anexa um arquivo; Ele é usado para especificar cabeçalhos adicionais. Assim, eu usaria:

email_myself() { mail -s "Subject of E-mail" [email protected] <"$1"; }
    
por 09.10.2014 / 23:07