Stefan Welscher: Unix soll PERL-Scripte als ausführbar betrachten

Hallo,
ich habe das Problem, dass nach einigen Änderungen an einem Unix-Server(Solaris), auf den ich mich verbinde, PERL-Scripte nicht mehr als ausführbar angenommen werden.

Früher konnte ich durch die Eingabe des Dateinamen (welcher sich auch austabben ließ) ein Script starten. Jetzt muss ich hierfür entwerden "perl <filename>" oder "./<filename>" angeben.

Ich weiß jetzt leider nicht, ob ich hier nur etwas an meiner .bashrc falsch geändert habe oder eine andere Einstellung am Server verändert wurde. Da unsere Admins nicht gerade die hellsten und schon gar nicht die schnellsten sind wollte ich euch mal fragen, woran das liegen könnte, bzw. wie ich den Fehler beheben kann.

Vielen Dank!

  1. Hallo Stefan,

    Früher konnte ich durch die Eingabe des Dateinamen (welcher sich auch austabben ließ) ein Script starten. Jetzt muss ich hierfür entwerden "perl <filename>" oder "./<filename>" angeben.

    hat der Perl seinen Speicherort gewechselt? D.h. überprüfe ob die Angabe in der Shebang (der ersten Zeile Deiner Perlskripte) mit dem Pfad zu Perl übereinstimmt.

    Freundliche Grüße

    Vinzenz

    1. Hallo Stefan,

      Früher konnte ich durch die Eingabe des Dateinamen (welcher sich auch austabben ließ) ein Script starten. Jetzt muss ich hierfür entwerden "perl <filename>" oder "./<filename>" angeben.

      hat der Perl seinen Speicherort gewechselt? D.h. überprüfe ob die Angabe in der Shebang (der ersten Zeile Deiner Perlskripte) mit dem Pfad zu Perl übereinstimmt.

      Freundliche Grüße

      Vinzenz

      Hallo Vinzenz,
      der Speicherort von PERL hat sich nicht geändert. In meiner Shebang ist auch noch der korrekte Ort angegeben. Ich glaube Sven Rautenberg ist da auf einem guten weg.

      Danke für die Hilfe,
      Stefan

      1. Hallo Stefan,

        [...] Ich glaube Sven Rautenberg ist da auf einem guten weg.

        deswegen habe ich ihm auch ein "Hilfreich" verpasst :-)

        Freundliche Grüße

        Vinzenz

  2. Moin!

    Früher konnte ich durch die Eingabe des Dateinamen (welcher sich auch austabben ließ) ein Script starten. Jetzt muss ich hierfür entwerden "perl <filename>" oder "./<filename>" angeben.

    Ist das x-Bit der Dateirechte gesetzt?

    Ansonsten deutet die Startbarkeit über "./" darauf hin, dass genau dieses Verzeichnis aus deinem Pfad entfernt wurde. Das ist durchaus nicht böse, denn ohne diesen Pfad sucht die Shell nur in den definierten Pfaden nach ausführbaren Programmen - ein Aufruf von "passwd" würde also garantiert das Passwortänderprogramm aufrufen, nicht irgendein Skript, welches dir untergejubelt wurde und in dem aktuellen Verzeichnis liegt.

    Der Aufruf von Skripten, welche sich in beliebigen Verzeichnissen befinden, mit vorangestelltem "./" ist üblich!

    - Sven Rautenberg

    --
    My sssignature, my preciousssss!
    1. Ist das x-Bit der Dateirechte gesetzt?

      Jup, das ist es

      Ansonsten deutet die Startbarkeit über "./" darauf hin, dass genau dieses Verzeichnis aus deinem Pfad entfernt wurde....
      Der Aufruf von Skripten, welche sich in beliebigen Verzeichnissen befinden, mit vorangestelltem "./" ist üblich!

      Das klingt als könnte es das Problem sein...
      Was müsste ich jetzt in meiner .bashrc eingeben, damit das Unterverzeichnis "tools" in meinem Homedir als gültige exec-Quelle anerkannt wird und auch vor anderen Quellen bevorzugt wird? (Reicht  für meinen lokalen Benutzer....)

      Danke

      1. Das klingt als könnte es das Problem sein...
        Was müsste ich jetzt in meiner .bashrc eingeben, damit das Unterverzeichnis "tools" in meinem Homedir als gültige exec-Quelle anerkannt wird und auch vor anderen Quellen bevorzugt wird? (Reicht  für meinen lokalen Benutzer....)

        Danke

        Hallo again,
        hab jetz herausgefunden, was ich eintragen muss:

        export PATH="<homedir>:/usr/bin:/usr/sbin"

        Jetzt geht`s wieder - Dank euch :wave:!