Am 15.01.2016 um 11:41 schrieb Kyek, Andreas, Vodafone DE:
Handwerker, Jan wrote:
heute bin ich auf ein Verhalten von echo innerhalb der bash gestoßen, dass mich überrascht. Ich dachte bisher, echo gibt Strings aus. Ein
echo Hallo?
sollte demnach eine Zeile mit dem String "Hallo?" ausgeben. Tut es auch meistens. Wenn aber im entsprechenden Verzeichnis eine Datei mit dem Namen "Hallo!" existiert, dann erscheint "Hallo!" Wenn zusätzlich auch noch eine Datei "Hallo." existiert, dann führt ein
echo Hallo?
zur Ausgabe von "Hallo! Hallo."
Ich breche hier deine Ausführung ab.
Lösung: "man bash"
Das ist NICHT ein Verhalten von echo sondern das "normale" Pattern-Matching der Shell BEVOR die Parameter an ein Kommando übergeben werden.
Wie ich schrieb (Du aber abschnittest :-) ) war das schon auch ein Verdacht von mir. Dazu aber noch die Rückfrage: Kann man die bash daran hindern? Aber vielen Dank schon mal! Herzliche Grüße Jan -- _________________________________________________________________ Jan Handwerker http://www.imk-tro.kit.edu/jan.handwerker.php