Hallo,
ich bereite gerade eine Schulung in Bezug auf Globbing vor und kann mir gerade ein Verhalten der Bash nicht so richtig erklären. Man nehme folgende Befehle:
doc@x1 ~ $ mkdir testdir doc@x1 ~ $ cd testdir doc@x1 ~/testdir $ echo test{1,2}*.txt test1*.txt test2*.txt doc@x1 ~/testdir $ touch test1.txt doc@x1 ~/testdir $ echo test{1,2}*.txt test1.txt test2*.txt
Das Ergebnis des letzten Befehls kann ich mir nicht so richtig erklären.
Also das "test{1,2}*.txt" wird ja erstmal expandiert nach "test1*.txt test2*.txt".
Aber da scheint ja noch ein Matching auf existierende Dateien zu erfolgen. Aber warum wird dann "test2*.txt" noch ausgegeben, obwohl keine Datei existiert, auf die dieses Pattern passt?
Also ich hätte da als Ausgabe entweder (kein Matching auf existierende Dateien)
test1*.txt test2*.txt
oder (Matching auf existierende Dateien)
test1.txt
erwartet.
Kann mir da jemand auf die Sprünge helfen?