Hab nie verstanden, wie find funktionert: Beispiel: x, y und z sind Datein find . -name x -and -print liefert x wie erwartet, während find . -print -and -name x x, y und z liefert. Wieso? -and sollte doch kommutativ sein. Grund: -print liefert zwar immer -true, druckt den aktuellen Filename aus, sobald es ausgewertet wird, nicht erst am Ende der kompletten Auswertung. Im ersten Beispiel wird es bei y ausgewertet, druckt y und liefert true, danach wird -name x ausgewertet, das liefert zwar false, aber der Dateiname wurde bereits gedruckt. Im zweiten Beispiel wird zuerst -name x ausgewertet und die weitere Auswertung aabgebrochen, weil das Ergebnis false liefert und der ganze Term sowieso false liefern wird. Zur Veranschaulichung: find. -print -and -name x -and -print liefert x,x,y,z