Mit dem folgenden Befehl sende ich mir eine Datei per E-Mail:
sudo mail -a FILE_ADDRESS -s "Subject of E-mail" [email protected]
Frage: Wie mache ich aus diesem Befehl einen Einzeiler, so dass ich einfach etwas wie
email_myself FILE_ADDRESS
Eine damit verbundene Frage ist folgende: Gibt es eine Möglichkeit, es so einzurichten, dass ich nur mit der rechten Maustaste auf eine Datei klicken muss und dann diesen Befehl darauf ausführen kann? Oder so etwas wie mir selbst den Inhalt meiner Zwischenablage per E-Mail zusenden kann (so dass es mir die Datei per E-Mail schickt, wenn es eine Datei ist, oder dass es mir den Text per E-Mail schickt, wenn es Text ist)? (Beachten Sie, dass ich Ubuntu verwende.) Ich denke, das wäre ein unglaublich nützliches Skript :)
Antwort1
Erstellen Sie eine Funktion:
email_myself() { sudo mail -a "$1" -s "Subject of E-mail" [email protected]; }
Wenn Sie möchten, dass Ihre Funktion dauerhaft erhalten bleibt (und vorausgesetzt, dass dies bash
Ihre Shell ist), fügen Sie die Definition als Zeile zu Ihrer hinzu ~/.bashrc
.
Für diejenigen, die Shell-Skripte Funktionen vorziehen, erstellen Sie eine Datei mit dem Namen email_myself
, machen Sie sie ausführbar ( chmod +x email_myself
) und speichern Sie sie irgendwo auf Ihrem PATH
:
#!/bin/sh
sudo mail -a "$1" -s "Subject of E-mail" [email protected]
Andere mail
Programme
Auf meinem System mail
funktioniert der Befehl nicht so. Erstens sudo
ist er unnötig. Zweitens -a
hängt er keine Datei an, sondern dient dazu, zusätzliche Header anzugeben. Daher würde ich Folgendes verwenden:
email_myself() { mail -s "Subject of E-mail" [email protected] <"$1"; }