pipen von Shellskripten

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
LenaLuna
Beiträge: 43
Registriert: 16.04.2006 11:29:23
Wohnort: Zürich / Schweiz
Kontaktdaten:

pipen von Shellskripten

Beitrag von LenaLuna » 08.07.2006 11:39:22

hallo forumler,

gibt es eine möglichkeit selbst erstellte shellskripte zu pipen?
das heisst die ausgabe des einen skript als eingabe des folgenden skript zu verwenden.

in der art:

skript_1 | skript_2

danke für eine ev. antwort.

gruss lenaluna

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 08.07.2006 12:35:23

Das geht genauso, wie du es geschrieben hast.

Benutzeravatar
LenaLuna
Beiträge: 43
Registriert: 16.04.2006 11:29:23
Wohnort: Zürich / Schweiz
Kontaktdaten:

problem gelöst

Beitrag von LenaLuna » 08.07.2006 12:36:56

hallo forumler,

konnte das problem lösen

skript_1:

#!/bin/bash

var="ich"

echo "ich" "du" "er"

skript_2:

#!/bin/bash

read a b c

echo "$a" "$b" "$c"

mit:

skript_1 | skript_2

werde die vars per pipe übergeben.

gruss
lenaluna

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 08.07.2006 12:41:18

Äh... Warum willst du das so machen?

Oder besser: welches ursprüngliche Problem willst du mit diesen Skripten lösen?

daedalus
Beiträge: 286
Registriert: 04.02.2005 17:06:16

Beitrag von daedalus » 08.07.2006 12:49:23

Willkommen im Forum ;-)

So wie Du das hingeschrieben hast geht das wunderbar. Um in script_2 zu lesen, was per Pipe kam, liest Du von stdin:

Code: Alles auswählen

read my_input
In my_input steht nun die erste Zeile dessen, was per Pipe "gesendet" wurde.

Grüße Christian
Das Problem ist der Parser. Der ist nicht fuzzy genug.
--Klaus Knopper

Benutzeravatar
LenaLuna
Beiträge: 43
Registriert: 16.04.2006 11:29:23
Wohnort: Zürich / Schweiz
Kontaktdaten:

Beitrag von LenaLuna » 08.07.2006 18:23:48

hallo

danke für die antworten.
versuchte im skript_2 mit $1 auf den output von skript_1 zuzugreifen.
ging natürlich daneben.
read war der gesuchte kanditat.
read liest ja von der stdin und mit $1, $2, $... usw. kann ich ja auf die dem befehl übergebenen parameter zugreifen.

vielen dank und gruss

lenaluna

Antworten