Hallo zusammen,
ich frage mich, ob es möglich ist, innerhalb eines Bash-Skripts Daten zu verwenden, die nicht als Parameter übergeben werden, sondern hinein-„gepipet“ werden.
z.B.
cat einedatei.txt | less
Kann ich mit einem Bash-Skript auch so etwas machen:
cat einedatei.txt | ./meinscript.sh
Falls dies nicht möglich ist, wie kann ich das ansonsten realisieren?
Vielen Dank,
Thomas
Hallo zusammen,
ich frage mich, ob es möglich ist, innerhalb eines
Bash-Skripts Daten zu verwenden, die nicht als Parameter
übergeben werden, sondern hinein-„gepipet“ werden.
z.B.
cat einedatei.txt | less
Kann ich mit einem Bash-Skript auch so etwas machen:
cat einedatei.txt | ./meinscript.sh
Ja.
cat hallo.txt | ./myscript.sh
while read i ; do
echo $i
done
Stichworte STDIN / STDOUT / STDERR
Hi, vielen Dank!
Dass es so einfach ist, hätte ich nicht gedacht.
Hab ja schon die irrsinnigsten Versuche gestartet
und dachte schon, ich müsste auf C umsteigen…
Gruß,
Thomas
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo nochmals,
mir fehlt nun dazu noch das kleine i-Tüpfelchen.
Leider ist es zwingend notwendig, dass alle vorhandenen
Leerzeichen der Quelle erhalten bleiben.
Um das Ganze mal etwas anschaulicher zu machen:
Im Mozilla soll eine Seite gedruckt werden, dazu wird „Datei/Drucken“ ausgewählt. Als Druckbefehl wird nun nicht „lpr …“ angegeben, sondern mein eigenes Skript. Mittels „read“ in diesem Skript kann ich nun den PostScript-Inhalt in eine Datei schreiben.
Leider fehlen mir dann allerdings z.B. führende Leerzeichen in den Zeilen.
Hast Du eventuell noch einen Rat für mich?
cat einedatei.txt | ./meinscript.sh
Ja.
cat hallo.txt | ./myscript.sh
while read i ; do
echo $i
done
Stichworte STDIN / STDOUT / STDERR
Hat sich erledigt, danke trotzdem.
IFS=""
ist mein Freund. 
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]