squier Geschrieben 8. April 2011 Geschrieben 8. April 2011 Hallo, ich suche schon eine Weile nach einer Möglichkeit, Benutzereingabe zu verskripten. Szenario: Ich habe ein Skript 1.sh, welches nach Aufruf mittels ./1.sh folgende Ausgabe tätigt: "Gib etwas ein:" => dies wird per "read" in eine Variable entgegengenommen und weiterverarbeitet. (dieses Skript kann/darf nicht von mir bearbeitet werden) Nun möchte ich mit einem zweiten Skript 2.sh dieses erste Skript 1.sh aufrufen und gleich die Benutzereingabe übergeben. (bei diesem Skript kann ich alles mögliche bearbeiten) => Ist dies möglich? Viele Grüße, squier
Genodi Geschrieben 9. April 2011 Geschrieben 9. April 2011 Hi, das scheint schwierig zu sein, da ein "read" erst dann den Wert erwartet. Vielleicht holt der sich den Wert ja aus dem stdin. du könntest es ja mal so versuchen: echo "deineEingabe" | 1.sh Wobei ich glaube, dass das nicht funktionieren wird. da müsste man schon das 1.sh bearbeiten.
squier Geschrieben 10. April 2011 Autor Geschrieben 10. April 2011 Danke für den Tipp. Es klappt, wenn ich das erste Script 1.sh so aufrufe: echo "deineEingabe" | sh 1.sh 1.sh: echo Input1: read inputScriptOne echo Output: $inputScriptOne 2.sh: echo $1 | sh 1.sh => Aufruf: >sh 2.sh inputScriptTwo Das Argument inputScriptTwo beim Aufruf wird erfolgreich an das Script 1.sh weitergeleitet/übergeben. Wenn ich allerdings mehrere Argumente übergebe, werden diese auf eine Variable (und zwar die erste verwendete) im Script 1.sh abgebildet.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden