Probleme beim erstellen einer Batchdatei

Hinweis: In dem Thema Probleme beim erstellen einer Batchdatei gibt es 4 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo bin neu hier und habe bis jetzt keine Antwort auf meine Frage gefunden :rolleyes:


    Ich würde gerne unter Suse 10.3 eine Batchdatei nutzen. Die gleiche Batchdatei habe ich auf einem anderen Server mit einer älteren Suse-Version schon am laufen, aber ich verstehe nicht warum es jetzt bei meinem neuen Rechner nicht funktioniert.
    Der Batch, dem ich den Namen pruef gegeben habe, sieht so aus:

    Bash
    #!/bin/sh
    /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


    Die Befehlszeile funktioniert einwandfrei, wenn ich sie in einem Terminal unter dem Suse-Server starte.
    Auch habe ich die Datei als ausführend konfiguriert: -rwxr-xr-x l root root


    Wenn ich nun den Batch "pruef" als Benutzer 'root' aufrufe, bekomme ich folgenden Hinweis:

    Zitat

    If 'pruef' ist not a typo you can use command-not-found to lookup the package that contains it, like this: cnf pruef

    Fehlt mir da noch etwas bei der Einrichtung, oder muss die Datei in einem bestimmten Verzeichnis stehen ?(


    Gruß Olaf

    Für den Inhalt des Beitrages 23325 haftet ausdrücklich der jeweilige Autor: olaf.j

  • Du musst

    Code
    ./pruef

    eingeben. Um es ohene den sogenannten Dotslash auszuführen, musst du das Script ins Verzeichnis /bin oder /usr/bin verschieben. Oder falls das nur für root ausführbar sein soll, nach /root/bin. Dann kannst du es auch mit

    Code
    pruef

    ausführen. Das ist so bei Linux ein Muss, weil es nicht - im Gegensatz zu DOS/Windows - nicht automatisch im aktuellen Verzeichnis nach einem glichnamigen Script oder ausführbaren Datei sucht.

    Bitte nicht das </iframe> beachten, da macht Opera irgendwie Mist.
    Yeah, ich krieg eine openSuSE-Laptopfolie :thumbup:</iframe>

    Für den Inhalt des Beitrages 23326 haftet ausdrücklich der jeweilige Autor: Schmitzi

  • OK, vielen Dank für die schnelle Hilfe!
    Wenn ich den Batch mit ./pruef starte funktioniert es.
    Das mit dem "./" kenne ich zwar schon, was mich aber wundert ist, dass ich bei meinem alten Server dies bei der gleichen Batchdatei nicht vorgeben muss und so kam ich gar nicht auf die Idee.
    Bei beiden Servern liegt die Batch-Datei jeweils im Verzeichnis /home/nagios/bin
    Wo kann den da noch ein Unterschied sein ?(


    Nachtrag:
    Ich kann die Datei pruef bei meinem alten Server von jeder Stelle aufrufen. Vermutlich steht die in einem Suchpfad, vielleicht macht das den Unterschied?


    Noch einmal ich :whistling:
    Es liegt wohl an dem Suchpfad. Ich habe die Datei jetzt in ein Verzeichnis welches im Suchpfad liegt kopiert und da kann ich es nun von überall ohne "./" aufrufen.
    Mein Problem ist, ich weiß nicht wo ich den Suchpfad ändern soll.
    Mit "echo $PATH" kann ich den betrachten, aber wenn ich beim User unter /home/nagios in der Datei .profile schaue, sehe ich die ganzen Pfade nicht. Auch wenn ich unter unter /etc/bash.bashrc nachschaue, sehe keine Pfadangaben.
    Wo wird denn nun der Pfad gesetzt?

    3 Mal editiert, zuletzt von olaf.j () aus folgendem Grund: Ergänzung "Nachtrag"

    Für den Inhalt des Beitrages 23349 haftet ausdrücklich der jeweilige Autor: olaf.j

  • Hallo rogi,
    mit dem Export Befehl geht vermutlich schon (muss es mal ausprobieren)
    Ich hätte nur gerne gewusst, wo die Pfade eingetragen sind, da ich meine angezeigten Pfade eben nich in der Datei .profile sehe, und auch unter /etc/bash.bashrc stehen die nicht drin!



    Hatte nicht gedacht, dass dies (für mich) so kompliziert sein kann ?(

    Für den Inhalt des Beitrages 23399 haftet ausdrücklich der jeweilige Autor: olaf.j