Details zur Script-Interpreter-Invocation - also der shebang (#!) Zeile. Und in der Liste wird auch ein Problem von Linux deutlich: der Pfad eines Interpreters in der #! Zeile wird ignoriert. Klassisches Beispiel: eine Installation von Python2.2 in /usr/bin, eine in /opt/pyds/bin. Jetzt soll ein Script fest mit /opt/pyds/bin/python laufen - aber wenn man das in die #! Zeile einträgt, ignoriert Linux den Pfad und nimmt trotzdem die Installation in /usr/bin und damit die falschen Bibliotheken.
! ist ein übler Hack, der manchmal das macht was man erwartet. Manchmal. Aber nicht immer. Und beileibe nicht immer öfter.
Hier gibts den Originalartikel.