Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » Probleme beim ausführen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.08.2004, 11:29 Uhr
ody



Hallo,

ich habe ein Programm, z.B. hello.cpp:
wenn ich es auf der commandozeile mit
g++ -o run hello.cpp
compiliere, bekomme ich die ausführbare datei "run".
Diese kann ich aber nicht über den aufruf run ausführen.
ich erhalte die fehlermeldung:
"bash: run: command not found"

ich habe leider keine ahnung warum es so ist. unter kdevelop läuft das programm ohne probleme.

mein system:
suse 9.0 pro


Vielen Dank für eure Antwort...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.08.2004, 12:07 Uhr
~sabst
Gast


Hey,

das klingt, als wäre der Pfad zum Ort deiner Datei nicht bekannt.
Versuchs mal mit der komplette Pfadangabe.Also z.B. wenn du gerade in dem verzeichniss bist, in der die Datei liegt:
./run
die Pfade in denen ausführbare Dateien liegen, müssen in deiner PATH Variablen abgespeichert sein, sonst findet deine bash die nicht.

Ich hoffe, das hilft weiter.
Gruß Sabst
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.08.2004, 12:51 Uhr
0xdeadbeef
Gott
(Operator)


Ich verschieb das mal ins Linux-Forum, da gehört es hin.

Ansonsten - dass . nicht im Suchpfad ist, hat sicherheitstechnische Gründe. Stell dir zum Beispiel vor, du entpackst ein tar-archiv, um zu kucken, was drin liegst, wechselst in das Verzeichnis, gibst "ls" ein und merkst erst zu spät, dass in dem Archiv eine ausführbare Datei names "ls" lag, die alle Dateien in deinem home-Verzeichnis gelöscht hat.

-->
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.08.2004, 12:54 Uhr
Pablo
Supertux
(Operator)


Du musst unter Linux den ganzen Pfad angeben. Wenn ein Verzeichnis sich im Pfad befindet, braucht man nicht den gesamten Pfad anzugeben, deshalb kann man gcc, make, ls, usw. ohne Pfadangabe ausführen.

Welche Verzeichnisse im PATH enthalten sind, hängt von jeweiligen Rechner ab, bin/ Verzeichnisse liegen meistens im Pfad. Hier, ein beispiel meines Rechners:


bash:

rex@supertux:~> echo $PATH
/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/i486-pc-linux-gnu/gcc-bin/3.3:/opt/Acrobat5:/usr/X11R6/bin:/opt/blackdown-jdk-1.4.2_rc1/bin:/opt/blackdown-jdk-1.4.2_rc1/jre/bin:/usr/qt/3/bin:/usr/kde/3.2/bin:/usr/qt/2/bin:/usr/games/bin:/opt/vmware/bin:/home/rex/.local/bin



Angenommen, ich befinde mich in /home/rex/programmierung/c/hello/ und dort habe dort habe ich die ausführbare Datei run. Wenn ich sie ausführen will und "run" eingebe, bekomme ich einen Fehler, weil run in keine der in $PATH gespeicherte Verzeichnisse vorkommt. Damit ich von /home/rex/programmierung/c/hello/ run ausführen kann, müsste ich /home/rex/programmierung/c/hello/run aufrufen. Wenn ich ./run läuft das Programm ebenfalls. Das liegt daran, dass der Punkt als "das jetztige Verzeichnis" interpretiert wird, und die bash erstetzt für sich dieses . in /home/rex/programmierung/c/hello.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: