Commander_COM Geschrieben 26. September 2004 Teilen Geschrieben 26. September 2004 Hi, ich habe mir gerade mandrake 10 powerpack auf die maschine gehauen (mein programmierrechener soll das werden) und mein erstes programm in c drauf geschrieben... hallo welt usw.... nach erfolgreicher kompilierung ohne fehler mit gcc -ansi -Wall -O prog1.c -o prog1 hat der das teil kompiliert. wenn ich nun aber "prog1" ohne die "" eingebe, antowortet linux bash: command not found oder so ähnlich!? was hab ich falsch gemacht? bzw, was habe ich übersehen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SystemError Geschrieben 26. September 2004 Teilen Geschrieben 26. September 2004 bash: command not found oder so ähnlich!? Hoy, liegt wahrscheinlich daran dass Dein aktuelles Arbeitsverzeichnis nicht im Pfad steht; probiers mal mit einer relativen Pfadangabe wie ./prog1 oder mit einer absoluten Pfadangabe wie /dein/ganz/langer/pfad/prog1. Die Datei sollte natürlich auch noch ausführbar sein. weiß jetzt aber nicht wie ich selber eine Frage bzw Thread oder so erstellen kann. Du bewegst Dich in passende Forum wie z.B. "Linux + Unix" und klickst auf den Button "neues Thema"; diesen Button hat es einmal oben links und einmal unten links auf der Threadübersichtssetite. Bye SystemError Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bobo Geschrieben 26. September 2004 Teilen Geschrieben 26. September 2004 das System findet die kompilierte Datei nicht, weil dein Pfad nicht das aktuelle Verzeichnis enthält (Standard bei Linux) also entweder du rufst dein Programm mit Pfadangabe auf: # ./programm oder du fügst das aktuelle Verzeichniss in deinen Pfad mit auf # export PATH=$PATH:. # programm Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ozelott Geschrieben 26. September 2004 Teilen Geschrieben 26. September 2004 Danke "SystemError" hab es hinbekommen. War ja garnet so schwer. Nen schönen Tag noch! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Commander_COM Geschrieben 26. September 2004 Autor Teilen Geschrieben 26. September 2004 das System findet die kompilierte Datei nicht, weil dein Pfad nicht das aktuelle Verzeichnis enthält (Standard bei Linux) also entweder du rufst dein Programm mit Pfadangabe auf: # ./programm oder du fügst das aktuelle Verzeichniss in deinen Pfad mit auf # export PATH=$PATH:. # programm super, danke. das geht erstmal. bleibt das dann mit der export-variable bestehen, oder muss ich das jedesmal neu anlegen? gibts nicht vielleicht ne möglichkeit, dass er SOFORT im aktuellen verzeichnis nachschaut, ob dort die datei ausführbar ist? kann doch irgendwie nicht sein, dass ich im selben verzeichnis wie die auszuführende datei bin und er führt sie nicht aus, weil er das verzeichnis nicht findet.... kommt mir sehr spanisch vor Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 26. September 2004 Teilen Geschrieben 26. September 2004 Hallo, du kannst natürlich auch die Pfade fest eintragen. In der Datei .bash_profile in deinem Homeverzeichnis einfach folgende Zeile einfügen: export PATH=$PATH:/meinNeuesVerzeichnis:/meineZweitesVerzeichnis Danach wird für den User "meinNeuesVerzeichnis" automatisch durchsucht. Weitere Verzeichnisse einfach durch einen : getrennt hinzufügen. Du kannst das auch für alle User machen, in dem du die gleiche Zeile in die Datei /etc/profile einfügst, allerdings ist das nicht empfehlenswert. Das kann zu Sicherheitsproblemen führen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DownAnUp Geschrieben 26. September 2004 Teilen Geschrieben 26. September 2004 Hallo, das Programme die im aktuellen Verzeichnis liegen nicht automatisch zum Suchpfad gehören ist Teil der grundlegenden Sicherheitsfunktionen von Unix bzw. Linux. Wenn dem nicht so wäre könnte z.B. jemand einen Virus schreiben und diesen "cd" nennen. Wenn du dann in diesem Ordner den Befehl "cd" ausführen würdest, würdest du ohne es zu merken den Virus starten anstatt wie gewollt das Verzeichnis zu wechseln. Aus diesem Grund muss zum ausführen von Programmen wie schon geschrieben entweder der Ordner in den Suchpfad (Variable "PATH") aufgenommen werden, oder aber "./" als zeichen das explizit die Datei in diesem Ordner ausgeführt werden soll dazu geschrieben werden. Die PATH Variable kannst du natürlich auch dauerhaft verändern, meistens in der ~/.bash_profile Datei. Gruß DownAnUp <edit> Da war ich mal wieder zu langsam... *g*</edit> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SystemError Geschrieben 26. September 2004 Teilen Geschrieben 26. September 2004 Hallo, das Programme die im aktuellen Verzeichnis liegen nicht automatisch zum Suchpfad gehören ist Teil der grundlegenden Sicherheitsfunktionen von Unix bzw. Linux... Der Mann hat recht. Das aktuelle Verzeichnis im Pfad werte ich (nur meine persönliche Meinung) als "schlampigen" Stil auf der Shell. Unseren Azubis habe ich immer versucht so was abzugewöhnen; frei nach dem Motto: "Wehret den Anfängen !". Und dem jeweiligen Kommando ein ./ vorne anzustellen ist nun wirklich kein grosser Aufwand. Lieber einmal angewöhnt als ein böses Erwachen. Bye SystemError Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Commander_COM Geschrieben 27. September 2004 Autor Teilen Geschrieben 27. September 2004 alles klar, danke für die vielen und eindeutigen Antworten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.