Es gibt zwei Programme. Das erste Programm gibt einen String aus, das zweite erwartet einen String als Argument. Wie ist es möglich unter Linux den ausgegebenen String des ersten Programms als Argument in das zweite Programm weiterzuleiten?
So:
1 | zweites_kommando "$(erstes_kommando)" |
Shell-Pipes sind wieder etwas anders.
:
Bearbeitet durch Moderator
Die Pipe leitet die Ausgabe auf die Eingabe um. Mein zweites Programm erwartet aber ein Argument. Habe es spaßeshalber probiert:
1 | BrokenPipeError: [Errno 32] Broken pipe |
@ von . . (Gast) Funktioniert. Danke :)
Wenn der ausgegebene String von Programm1 Leerzeichen enthalten kann und du vermeiden möchtest, dass daraus mehrere Tokens und somit mehrere Argumente für Programm2 enstehen, musst du $(...) in Anführungszeichen setzen.
Yalu X. schrieb: > Wenn der ausgegebene String von Programm1 Leerzeichen enthalten kann und > du vermeiden möchtest, dass daraus mehrere Tokens und somit mehrere > Argumente für Programm2 enstehen, musst du $(...) in Anführungszeichen > setzen. Danke für den Tipp :)
Es gibt auch das Programm xargs.
1 | erstes_kommando | xargs zweites_kommando |
Oder so:
1 | jetzt = `date` |
2 | echo $jetzt |
Stefan ⛄ F. schrieb: > jetzt = `date` > echo $jetzt Aber bitte ohne Leerzeichen hinter jetzt und vor `date`
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.