Problem mit Linux und G++

PseudoReal

Grand Admiral Special
Mitglied seit
11.11.2001
Beiträge
2.003
Renomée
0
Standort
Frankfurt
hi folks

hab nen problem, hab auf meinen rechner als 2. OS SuSe Linux 8.0 drauf, aber nun zum prob wenn ich was programmiere und es auch richtig kompiliere, und danach das programm ausführen will sagt der bash: <name>: command not found, an was kann das liegen, der <name> ist aber im verzeichnis vorhanden ???
hilfe bin total verzweifelt
 
Du musst es aus Sicherheitsgründen mit
./progname
ausführen ;)

das aktuelle Verzeichnis (".") ist nicht mit im PATH, weshalb das Programm nicht gefunden wird, mit ./ gibt man an, das das Programm im aktuellen Pfad liegt.
 
kann das aber sein dass das bei 7.3 net so war, sondern erst bei 8.0
denn beim alten ging das 100% ohne ./
 
ja, wurde erst bei der 8.0 zum Standard bei SuSE, bei root ist es aber schon eine Weile so.
Man kann das aber auch wieder abschalten:
dazu muß die PATH-Variable geändert werden.
Dazu fügt man in der .profile folgendes hinzu:
"export PATH = $PATH:."

(kann man auch so an der Konsole eingeben)
Ist aber wie gesagt ne Sicherheitslücke...
 
naja, bei SuSE hab ich da mal ein Beispiel gefunden:

nehmen wir mal an, Du bist gerade im tmp-Verzeichnis und jemand hat da eine Datei namens "ls" abgelegt und "." ist weiter vorne im PATH als der eigentliche Ordner von ls und Du gibst an der Shell "ls" im tmp-Verzeichnis ein. Dann wird das ls-Skript dort ausgeführt (was möglicherweise was böses mache ;) )

Nun, und wenn Du es ganz hinten hast, kann das in dem Fall Probleme machen, wenn ein Programm garnicht existiert, Du es aber ausführen willst und in Deinem derzeitigen Ordner ein Programm liegt, das so heißt, wie das, was Du ausführen wolltest.

Außerdem kann es eh zu Problemen mit Aufrufen ohne "./" kommen:
schonmal ein Test-Programm beim compilieren "test" genannt und dann ausführen wollen? Dann führt er "/usr/bin/test" aus. Das gleiche kann Dir auch mit anderen Namen passieren...
 
also test habe ich schon öfters eins genannt nur dann ist nie was passiert (sowas wie nen BO angriff vllt) aber jedenfalls machte es den anschein als hätte man nur enter gedrückt *G naja gut das ichs nun weiss und danke dir :D
 
Zurück
Oben Unten