mehrere Befehle pipen ?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
ekle
Beiträge: 56
Registriert: 08.11.2005 21:02:03
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

mehrere Befehle pipen ?

Beitrag von ekle » 27.08.2007 22:19:30

hi
wenn ich in der bash eine Schleife oder Bedingung habe kann ich die komplett pipen:

Code: Alles auswählen

if true; then      
echo "Hello";       
echo "Hello";     
fi | irgendein filter oder so
aber dass muss doch auch einfacher gehen ohne ein if oder eine Schleife dafür zu missbrauchen. die Frage ist bloß wie ?

Benutzeravatar
markus_b
Beiträge: 355
Registriert: 26.01.2006 04:57:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von markus_b » 27.08.2007 22:42:56

Ja, geht ganz einfach:

Code: Alles auswählen

( echo 2; echo 1 ) | sort
Oder falls es komplexer wird, bietet sich auch eine named Pipe an:

Code: Alles auswählen

mkfifo fifo
echo 2 > fifo &
echo 1 > fifo &
sort fifo
rm fifo

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von GoKi » 27.08.2007 23:34:22

Oder auch

Code: Alles auswählen

#!/bin/sh

sort << EOF
2
1
EOF
MfG GoKi
:wq

ekle
Beiträge: 56
Registriert: 08.11.2005 21:02:03
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von ekle » 28.08.2007 08:03:23

markus_b hat geschrieben:Ja, geht ganz einfach:

Code: Alles auswählen

( echo 2; echo 1 ) | sort
so einfach und ich bin einfach nicht drauf gekommen ...
big THX

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 28.08.2007 08:34:51

Ja, ja die Klammersetzung....
Oh, yeah!

ekle
Beiträge: 56
Registriert: 08.11.2005 21:02:03
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von ekle » 28.08.2007 09:19:15

naja mit geschweiften klammern hatte ich es probiert ...

Antworten