angenommen, dass der Befehl alpha
diese Ausgabe erzeugt:bash Befehlsausgabe als Parameter
a b c
d
Wenn ich den Befehl
beta $(alpha)
laufen dann beta
mit vier Parametern ausgeführt werden, "a"
, "b"
, "c"
und "d"
.
Aber wenn ich den Befehl
beta "$(alpha)"
dann beta
wird mit einem Parameter ausgeführt werden, "a b c d"
.
Was soll ich schreiben, um beta
mit zwei Parametern auszuführen, "a b c"
und "d"
. Das heißt, wie erzwinge ich $(alpha)
, um einen Parameter pro Ausgangsleitung von alpha
zurückzugeben?
Dies unterwirft auch die Ausgabe von './Alpha.sh' zur Erzeugung des Pfadnamens, was möglicherweise nicht wünschenswert ist. – chepner
@schepner. Minus eins, warum? Es ist ein einfaches Beispiel, um zu zeigen, wie das Problem behoben werden kann, und es funktioniert. Offensichtlich kann alpha.sh auf den PATH-Verzeichnissen liegen und dann könnte man "./" vermeiden, aber ich wollte die Aufmerksamkeit auf die Behebung des Problems und nicht auf sekundäre Probleme konzentrieren ... – aicastell
Es * funktioniert nicht, wenn ' alpha' kann eine Zeile wie 'a * c' ausgeben. Dies ist kein sekundäres Problem. – chepner