doch, nur wird erst die variablenauswertung und die kommandosubstitution gemacht.Und ich glaube, Du hast den Satz nach Deiner Liste der Reihenfolge nicht mehr gelesen:
Das heißt, "Redirecting Output" - und somit das Leeren der Ausgabedatei - sollte vor Ausführung des Kommandos kommen.
cat file sollte also ein leeres file bearbeiten - zumindest nach meinem Verständnis.
Wie ich bereits sagte, war das "früher" auch unter Linux standardmäßig so.
sprich:
das "cat datei" erfolgt VOR der Ausgabeumleitung das es sich nunmal um eine kommandosubstitution handelt.
echo "`echo "bar" ; cat test`" > test:
1. echo bar
2. cat test
3. >test
4. echo "1,2" > 3
das war auch früher schon so.
edith:
noch mal etwas ausführlicher:
echo "`echo "bar" ; cat test`" > test:
#cat test
zeile 1
zeile 2
1. echo "bar"+`cat test` > test (erste kommandosubstitution)
2. echo "bar\nzeile1\nzeile2" > test (zweite kommandosubstitution)
3. test neu leer anlegen (umeitung auswerten und datei erzeugen)
4 kommando echo "bar\nzeile1\nzeile2" ausführen
Zuletzt bearbeitet: