Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
warum starten meine Scripte nicht ???

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
spool
Gast





BeitragVerfasst am: 14. Nov 2002 20:54   Titel: warum starten meine Scripte nicht ???

Ich hab jetzt frisch Linux installiert und kaum Ahnung davon. Ich hab ein Script auf dem Rechner, daß sich nicht starten läßt. Ich hab über chmod 755 die Ausführungsrechte gesetzt usw. Seh ich mir das Script unter Pico an, kein Problem. Wenn ich's ausführen will krieg ich von der bash command not found. Was war das nochmal für ein Problem ????
 

Chris
Gast





BeitragVerfasst am: 14. Nov 2002 21:22   Titel: Re: warum starten meine Scripte nicht ???

Hi!

Wie sehen die Scripte denn aus?


Gruß
Chris
 

rattengift
Gast





BeitragVerfasst am: 14. Nov 2002 22:05   Titel: Re: warum starten meine Scripte nicht ???

und wie rufst du die skripte auf? versuchs mal mit "./skriptname"
 

spool
Gast





BeitragVerfasst am: 14. Nov 2002 22:25   Titel: Re: warum starten meine Scripte nicht ???

./Scriptname funzt. Aber warum ???
Vor kurzem in einem Unix Grundlagen Lehrgang konnte ich die Dinger so aufrufen.

THX

spool
 

Chris
Gast





BeitragVerfasst am: 15. Nov 2002 0:38   Titel: Re: warum starten meine Scripte nicht ???

Hi!

Weil das aktuelle Verzeichnis "." nicht im Pfad ist.


Gruß
Chris
 

Bazant
Gast





BeitragVerfasst am: 15. Nov 2002 8:34   Titel: Re: warum starten meine Scripte nicht ???

ein Ausführen ohne ./ veranlaßt das System dazu, daß es die PATH-Variable durchgeht.

ein

PATH=./:$PATH && export PATH

veranlaßt das System dazu, daß es immer erst im aktuellen Verzeichnis nach dem Programm/Script sucht

Gruß
Bernhard
 

Jochen
Gast





BeitragVerfasst am: 15. Nov 2002 8:52   Titel: Re: warum starten meine Scripte nicht ???

Den "." an den Anfang der PATH-Variablen zu setzen ist allerdings nicht zu empfehlen. Als Systemadministrator sollten nur vertrauenswürdige Verzeichnisse in der PATH-Variablen enthalten sein. So kann einem niemand ein böswilliges Skript unterjubeln.

Als Anwender sollte man zumindest den Punkt an das Ende der PATH-Variable setzen, da diese sequentiell durchgearbeitet wird, also statt
PATH=.:$PATH
ein
PATH=$PATH:.
Die sauberste Lösung wäre es, ein eigenes $HOME/bin-Verzeichnis in die PATH-Variable aufzunehmen und seine Skripte in diesem Verzeichnis zu entwickeln.

Jochen
 

Bazant
Gast





BeitragVerfasst am: 15. Nov 2002 10:14   Titel: Re: warum starten meine Scripte nicht ???

jo ... Jochen hat da völlig recht

Diese Lösung sollte so keinesfalls in einem der Profiles stehen, ist aber für eine Entwicklungssitzung recht hilfreich.
Ich bevorzuge persönlich trotzdem das aktuelle Verzeichnis als ersten Pfad, denn für die jeweils aktuelle Sitzung zum Erstellen von Scripts kann ich einen identischen Namen der Befehle verwenden (beim namen test kann es für den Anfänger schon Probleme geben)
das Anlegen eines bin-verzeichnisses im $HOME ist bei weitem besser, da der Pfad $HOME/bin bei den meisten Distributionen eh schon gesetzt ist.

Gruß Bernhard
 

Dummi
Gast





BeitragVerfasst am: 15. Nov 2002 14:32   Titel: Re: warum starten meine Scripte nicht ???

Das klingt ja alles sehr interessant, leider hab ich fast kein Wort verstanden. Wo setzt man denn die Path-Variable?
 

Jochen
Gast





BeitragVerfasst am: 15. Nov 2002 14:51   Titel: Re: warum starten meine Scripte nicht ???

Mach einfach mal ein
echo $PATH
Das ist eine Liste von Verzeichnissen, getrennt durch Doppelpunkte. Wenn man einfach ein Kommando eintippt, durchsucht die Shell diese Verzeichnisse nach einer passenden Datei und führt sie aus. Dieser Mechanismus greift nicht, wenn man einen aboluten Pfadnamen (/sbin/ifconfig) oder relativen Pfadnamen (./mein-skript) verwendet. Das ist eine grundsätzliche Eigenschaft der Shell.

Wenn Du nun weitere Verzeichnisse in den Suchpfad aufnehmen willst, musst Du die PATH-Variable ändern. Setzen kann man eine Variable durch
VAR=inhalt
An deren Inhalt kommt man, in dem man ein "$" voranstellt. Ausgabe des Inhalts einer Variablen ist also beispielsweise
echo $VAR
Um nun an die PATH-Variable ein Verzeichnis anzuhängen, schreibt man
PATH=$PATH:.
Aufgeschlüsselt: Setze die Variable PATH (PATH=)auf den alten Inhalt von PATH ($PATH) plus der Zeichenkette ":." (Feldtrenner : und aktuelles Verzeichnis .). Wenn Du das an Deinem Shellprompt eintippst, hast Du für diese Session den Suchpfad schon ergänzt.

Wie baust Du das nun so ein, dass Du es nicht jedesmal neu eintippen musst? Ganz einfach: Jede Shell arbeitet sog. rc-Skripte ab, um die dem User genehme Umgebung herzustellen. Bei der Linux-typischen bash ist es entweder die Datei .profile oder die Datei .bash_profile in Deinem Home-Directory. Wenn Du dort die o.a. Zeile einfügst, führt die Shell bei jeder Anmeldung das Ergänzen der PATH-Variablen aus.

Uff. Noch Fragen?

Jochen
 

NichtmehrDummi
Gast





BeitragVerfasst am: 16. Nov 2002 20:47   Titel: Re: warum starten meine Scripte nicht ???

Danke für die tolle Erklärung !!!
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy