Ich versuche im Wesentlichen, bestimmte Teile der Ausgabe eines Shell-Befehls mehreren Variablen zuzuordnen, aber ich weiß nicht, wie das geht.
Nehmen Sie der Einfachheit halber an, dass der Befehl auf der Shell bei der Ausführung gedruckt wird
one two three four
was mit a simuliert werden kann
echo "one two three four"
(obwohl das tatsächliche comannd anders ist)
Nun möchte ich den Variablen w1 und w2 das zweite und vierte Wort der Ausgabe (in diesem Fall zwei und vier ) zuweisen .
Ich dachte, ich könnte den Lesebefehl folgendermaßen verwenden :
echo "one two three four" | awk '{print $2 " " $4}' | read w1 w2
aber dies nicht funktioniert, wahrscheinlich , weil der Lesebefehl in einem Teilprozess ausgeführt wird.
Wie würde ich also vorgehen, um das zu erreichen, wonach ich strebe?