Eine Pipe in einem Unix-ähnlichen Betriebssystem dient zum Ausführen eines Programms, wobei seine Standardausgabe (die sonst zum Bildschirm gehen würde) und als Eingabe für ein anderes Programm verwendet wird (anstelle der Standardeingabe, die normalerweise von der Tastatur kommt.) ).
Anscheinend möchten Sie, dass ein Programm in eine Datei ausgegeben wird und dass dann ein anderes Programm die Datei als Eingabe verwendet . Dafür brauchst du keine Pfeife.
Um ein Programm nach dem anderen auszuführen, verwenden Sie ;
. Zum Beispiel:
sox /Users/someUser/Desktop/input.mp3 output.mp3 ; mutt -s "someSubject" -a output.mp3 some@recipient.com
Unix-Befehlszeilenprogramme geben einen "Beendigungsstatus" oder "Rückkehrcode" aus. Die meisten Programme geben 0 aus, um anzuzeigen, dass sie ihr Ding erfolgreich ausgeführt haben, oder einen anderen Wert, wenn ein Problem aufgetreten ist. Wenn Ihr erster Befehl so ist, verwenden Sie &&
anstelle von ;
nur den zweiten Befehl, wenn der erste Befehl erfolgreich war. Zum Beispiel:
sox /Users/someUser/Desktop/input.mp3 output.mp3 && mutt -s "someSubject" -a output.mp3 some@recipient.com