hallo, kann mir jemand von euch bei folgender frage helfen? ich kompiliere mit gcc ein programm in c++. der compiler gibt keine fehlermeldung aus, das prog läßt sich aber nicht starten (eingabe [programmnamme]+[return], bash gibt "command not found" zurück). wenn ich das prog mit debugoption compiliere und dann durch den debugger laufen lasse, scheint es einwandfrei zu funktionieren. woran könnte das liegen. dirk wenzel, dresden
Hallo Dirk,
On Sun, May 19, 2002 at 12:26:11AM +0200, D. Wenzel wrote:
hallo, kann mir jemand von euch bei folgender frage helfen? ich kompiliere mit gcc ein programm in c++. der compiler gibt keine fehlermeldung aus, das prog läßt sich aber nicht starten (eingabe [programmnamme]+[return], bash gibt "command not found" zurück).
Ich vermute mal, Du hast das aktuelle Arbeitsverzeichnis nicht in Deinem Suchpfad. Bei der Bash wird - anders als bei der MS- DOS-Shell - nur dort gesucht, wo es auch explizit angegeben ist.
Du kannst also Dein Programm wie folgt starten, wenn Du Dich in dem Verzeichnis befindest, in dem das Programm abgelegt ist:
./programmname
Durch den "/" wird der Bash signalisiert, dass Du den Pfad explizit angeben willst. Der "." entspricht einem Hardlink auf das aktuelle Verzeichnis.
Alternativ kannst Du in Deiner .bashrc oder .profile den Suchpfad um das jeweilige aktuelle Verzeichnis (".") erweitern, z.B. so:
export PATH=$PATH:.:/bin:/usr/bin:/usr/local/bin ^
ich das prog mit debugoption compiliere und dann durch den debugger laufen lasse, scheint es einwandfrei zu funktionieren. woran könnte das liegen.
Der Debugger erwartet beim Aufruf von "gdb programmname" ohne Pfadangabe Dein Programm im aktuellen Verzeichnis, dehalb ging's wahrscheinlich.
Viele Grüße,
Matthias
On Sun, 19 May 2002 00:43:01 +0000, Matthias Petermann wrote:
Alternativ kannst Du in Deiner .bashrc oder .profile den Suchpfad um das jeweilige aktuelle Verzeichnis (".") erweitern, z.B. so:
export PATH=$PATH:.:/bin:/usr/bin:/usr/local/bin
Man sollte sich lieber ./blah angew�hnen. Siehe http://www.faqs.org/faqs/unix-faq/faq/part2/section-13.html
Reinhard
On Sun, May 19, 2002 at 12:43:01AM +0000, Matthias Petermann wrote:
On Sun, May 19, 2002 at 12:26:11AM +0200, D. Wenzel wrote:
hallo, kann mir jemand von euch bei folgender frage helfen? ich kompiliere mit gcc ein programm in c++. der compiler gibt keine fehlermeldung aus, das prog läßt sich aber nicht starten (eingabe [programmnamme]+[return], bash gibt "command not found" zurück).
Alternativ kannst Du in Deiner .bashrc oder .profile den Suchpfad um das jeweilige aktuelle Verzeichnis (".") erweitern, z.B. so:
export PATH=$PATH:.:/bin:/usr/bin:/usr/local/bin
Nein! Das das PWD nicht im Pfad ist hat seinen Grund. Stell Dir vor das PWD ist gerade z.B. /tmp. Dort kann jemand einfach etwas ausführbares namens "ls" ablegen. Dann gibst Du "ls" ein....
Gruß, Eric
Hi,
On Sun, May 19, 2002 at 10:48:51AM +0200, Eric Schaefer wrote:
Alternativ kannst Du in Deiner .bashrc oder .profile den Suchpfad um das jeweilige aktuelle Verzeichnis (".") erweitern, z.B. so: export PATH=$PATH:.:/bin:/usr/bin:/usr/local/bin
Nein! Das das PWD nicht im Pfad ist hat seinen Grund. Stell Dir vor das PWD ist gerade z.B. /tmp. Dort kann jemand einfach etwas ausführbares namens "ls" ablegen. Dann gibst Du "ls" ein....
...ich schrieb ja auch nur, dass das als _Alternative_ möglich ist. Reinhard hat ja schon einen Grund angegeben, warum man das nicht so machen sollte. Bei mir hab ich das auch nicht im Pfad drin - bei manchen Distributionen (SuSE z.B.) ist der Pfad aber standardmäßig so gesetzt.
Matthias
lug-dd@mailman.schlittermann.de