Wenn Python und Bash interferieren

In einer meiner Vorlesungen müssen die Übungen mit Python und Pygame bearbeitet werden. Freundlicherweise bekommen wir auch Musterlösungen.

Als ich mir eine solche heute genauer ansehen wollte, zeigte sie ein sehr seltsames Verhalten.

Erstmal habe ich sie nach Unix-Manier ge-chmod-+x-t, und dann ge-dot-slash-t. Kein Fenster öffnete sich. Der Mauscursor änderte sich ein paarmal seltsam. Dann bekam ich die folgende Ausgabe:

$ ./main.py
from: can't read /var/mail/pygame.locals
from: can't read /var/mail/sys
./main.py: line 10: syntax error near unexpected token `('
./main.py: line 10: `mpos = (200.0,200.0)'

Ein sehr seltsames Verhalten, das dieses Skript nur bei mir an den Tag zu legen schien. Nun, das Skript begann etwa so (die letzte Zeile ist die Zeile mit dem Fehler):

__author__="Blubb"

import pygame
from pygame.locals import *
from sys import exit
import player
import random

mpos = (200.0,200.0)

Was auffällt: Keine Shebang. Das heißt, das Script wurde mittels Bash ausgeführt. Was ich dann allerdings seltsam fand.

Gut, die erste Zeile ist eine Wertzuweisung wie man sie aus Bash kennt. Aber dass es die Kommandos „import“ und „from“ gibt, war mir neu.

Tatsächlich ist import(1) ein Teil von ImageMagick, welches ich installiert habe:

import(1)                                                            import(1)

NAME
       import  -  saves any visible window on an X server and outputs it as an
       image file. You can capture a single window, the entire screen, or  any
       rectangular portion of the screen.

SYNOPSIS
       import [options] input-file

Und from(1) ist Teil des Debian-Paketes bsdmainutils:

FROM(1)                   BSD General Commands Manual                  FROM(1)

NAME
     from - print names of those who have sent mail

SYNOPSIS
     from [-c] [-s sender] [-f file] [user]

Wieder was gelernt.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: