Mir ist das bei einer anderen Gelegenheit schon mal aufgefallen und als
es wieder passiert ist, dachte ich mir, fragste mal nach.
Nachstehender Code steht in einer .py Datei und läuft mit Python3. Wenn
ich die Datei, die ausführbar ist, öffne und sage, lass mal mit Terminal
ausführen, passiert etwas unerwartes. Bei Euch auch?? Ich denke ich weiß
wodurch es ausgelöst wird, aber doch nicht mit solchen Konsequenzen.
> Nachstehender Code steht in einer .py Datei und läuft mit Python3. Wenn> ich die Datei, die ausführbar ist, öffne und sage, lass mal mit Terminal> ausführen, passiert etwas unerwartes.
Habe ich ja geschrieben, dass ich weiß wo das Problem seinen Ursprung
hat, aber hast Du das mal im Terminal ausgeführt?
Davon rede ich. Da passiert nämlich etwas völlig irres und das kann ich
mir mit dieser shebang Zeile nicht erklären.
Habe den wikpedia Artikel gerade überflogen und davon steht da nichts
soweit ich das sehe.
> hast Du das mal im Terminal ausgeführt?
Bin doch nicht bescheuert ;-) Bash lässt vieles durchgehen ohne
abzubrechen und dabei wird gerne Unheil angerichtet. Ich denke mal, du
spielst das "import" an - würde bei mir ImageMagicks "import" starten.
wenn ich die ausführbare datei öffne und 'im terminal ausführen' wähle,
habe ich kurz danach eine pdf mit einem aktuell screenshot im
betreffenden verzeichnis.
what?!
tatsache... sehe das gerade auch.
das ist ja super gefährlich und funktioniert einfach so auf einem
modernen linux-system??
was man selbst oder dritte damit anrichten könnte, WTF
> habe ich kurz danach eine pdf mit einem aktuell screenshot im> betreffenden verzeichnis.
Jo, du scheinst auch ImageMagick installiert zu haben. "import" ist das
Screenshotprogramm von dem. Was hast du denn erwartet? Sei froh, dass
in dem Script kein "rm *" oder ähnliches vorkommt.
PS: Ich hoffe, du hattest keine Datei Namens "re" in dem Verzeichnis,
die hat der "import" nämlich überschrieben.
> das ist ja super gefährlich und funktioniert einfach so auf einem> modernen linux-system??
Ehm ... was sollte das System denn sonst machen? Du sagst "Bitte
ausführen" und da die Datei das x-Bit (executable) gesetzt hat, macht es
das auch. Dass das Programm fehlerhaft ist (falscher Interpreter
eingetragen), kann das System doch nicht wissen.
#!/usr/bin/python3
darüber brauchen wir nicht reden, klar war der interpreter falsch
../bash hat in einem python skript nichts zu suchen.
ich habe das skript die ganze zeit über in der shell mit dem direkten
programmaufruf gestartet und dabei fiel es mir nicht auf, weil ich mit
dem internen rumgeschwurbel im code beschäftigt war.
das ich besagtes 'import' als programm habe, wusste ich gar nicht,
geschweige denn um dessen wirkung.
als ich dann den screenshot auf dem desktop fand -im pdf-format-,
versetzte mich das erstmal in alarmstufe pink. das mir der shebang-Zeile
war mir auch unmittelbar nach dem ersten Schock klar, nur kannte ich die
ImageMagic-Erweiterung import halt vorher nicht.
Matthias S. schrieb:> als ich dann den screenshot auf dem desktop fand -im pdf-format-,> versetzte mich das erstmal in alarmstufe pink. das mir der shebang-Zeile> war mir auch unmittelbar nach dem ersten Schock klar, nur kannte ich die> ImageMagic-Erweiterung import halt vorher nicht.
$ which import
hätte dir die Erleuchtung geben können. Das klappt übrigens mit jedem
existierenden externen Kommando im Pfad deines Systems...
man import hat bei mir schließlich für erleuchtung gesorgt.
aber wer nennt ein programm für screenshots import?
gleich erstmal man #include... überprüfen... oder which #...