Hallo,
ich habe ein kleines Problem mit SuSE Linux 6.4. Es handelt sich um eine
Standardinstallation, ohne dass ich die zu installierenden Pakete verändert
habe. Ich habe im KDE Editor eine Datei mit Namen "test.c" erstellt. Der
Inhalt:
#include
* Uli Schroeder wrote:
gcc -o test test.c
Wenn ich das bei uns in der FH mache, erhalte ich ein Executable, das ich einfach durch "test" aufrufen kann und das gibt dann "TEST!!" auf dem Bildschirm aus. Bei mir auf dem System wird scheinbar auch ein Executable erstellt, bei dessen Aufruf passiert aber einfach gar nix. Ich bekomme direkt wieder den Prompt der Shell. Ich habe das auch schon mit einem anderen Programm
"test" ist ein eingebauter Befehl der bash, deswegen ist "test" ein denkbar schlechter Name für ein Executable. Probier's entweder mit ./test oder nenn das Programm mal um. Thorsten -- BUGS This manpage is confusing. (man 3 getopt) --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Der Hinweis mit ./ war super. Ich habe aber testweise mein Programm auch mal in "myowntest" und "ulisworld" umbenannt. Wenn ich dann in der Konsole den entsprechenden Befehl eingebe, bekomme ich von der bash die Meldung "command not found" zurück. Ich stehe aber direkt in dem Verzeichnis, in dem auch das Programm liegt. Gebe ich dann "./myowntest" bzw. "./ulisworld" ein funktioniert es. Warum?? Kann man da irgendwie umstellen, damit Linux auch im gerade aktiven Pfad das Executable sucht? Uli -----Ursprüngliche Nachricht----- Von: thodi@et-inf.fho-emden.de [mailto:thodi@et-inf.fho-emden.de]Im Auftrag von Thorsten Jens Gesendet: Freitag, 9. Juni 2000 23:07 An: suse-linux@suse.de Betreff: Re: gcc und "Hallo Welt"?? * Uli Schroeder wrote:
gcc -o test test.c
Wenn ich das bei uns in der FH mache, erhalte ich ein Executable, das ich einfach durch "test" aufrufen kann und das gibt dann "TEST!!" auf dem Bildschirm aus. Bei mir auf dem System wird scheinbar auch ein Executable erstellt, bei dessen Aufruf passiert aber einfach gar nix. Ich bekomme direkt wieder den Prompt der Shell. Ich habe das auch schon mit einem anderen Programm
"test" ist ein eingebauter Befehl der bash, deswegen ist "test" ein denkbar schlechter Name für ein Executable. Probier's entweder mit ./test oder nenn das Programm mal um. Thorsten -- BUGS This manpage is confusing. (man 3 getopt) --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Uli Schroeder wrote:
Programm liegt. Gebe ich dann "./myowntest" bzw. "./ulisworld" ein funktioniert es. Warum?? Kann man da irgendwie umstellen, damit Linux auch im gerade aktiven Pfad das Executable sucht?
Wenn du als root arbeitest, ist das aktuelle Verzeichnis aus Sicherheitsgründen nicht im $PATH. Kann man z.B. in YaST ändern, bei 'Systemsicherheit', IIRC. Mach mal ein "echo $PATH", wenn da ein ':.:' drin ist, sollte die Datei eigentlich gefunden werden! Thorsten PS: Bitte etwas weniger quoten bei nächsten Mal, ja? Danke :-) -- BUGS This manpage is confusing. (man 3 getopt) --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Danke Thorsten!! Hat alles perfekt geholfen. Uli --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Uli Schroeder schrieb am 10.Jun.2000:
Danke Thorsten!! Hat alles perfekt geholfen.
Ich hoffe aber, nicht indem Du den root-Pfad umgemodelt hast, sondern indem Du nicht als root arbeitest. Linux/UNIX ist, im Wesentlichen, nur deshalb sicherer als Windows, weil man *nicht* als root arbeitet. Wenn Du dann auch noch . in den root-Pfad aufnimmst, dann kannst Du gleich ein M$-Produkt benutzen. Im Übrigen steht ~/bin im SuSE-Standardpfad. Wenn Du da Deine Programme rein schreibst, dann wirst Du auch keine Probleme mehr haben. test dürfen sie natürlich nicht heißen, da interne Funktionen *immer* zuerst genommen werden, egal wie der Pfad gesetzt ist. Bernd --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi Bernd, muss Dich korrigieren. ;-) On Sat, 10 Jun 2000, Bernd Brodesser wrote:
Im Übrigen steht ~/bin im SuSE-Standardpfad.
Nein, bei der 6.2, die ich hier hab, standardmaessig nicht -- dafuer steht . am Ende ... :-/ Gruss Anne --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* On Sat, Jun 10, 2000 at 06:19:08PM +0200, Anne Forker wrote:
muss Dich korrigieren. ;-)
On Sat, 10 Jun 2000, Bernd Brodesser wrote:
Im Übrigen steht ~/bin im SuSE-Standardpfad.
Nein, bei der 6.2, die ich hier hab, standardmaessig nicht -- dafuer steht . am Ende ... :-/
Dann wirst du wohl in der rc.config root den . übergegeben haben. Default (SuSE 6.2 hab ich hinter mir) war bei mir immer KEIN . im root-PATH. Das Rückgängig zu machen ist event. schwer. Bin mir jetzt gar nicht sicher ob es reicht in der rc.config es wieder abzusetzen. Schließlich hat man ja mit der Konfig schon was installiert/kompiliert......Keine Ahnung, hab aber mal gehört das es zu Komplikationen führen könnte. ?? Gruß, Clemens -- sig_36 Ausgabe deiner Grafikkarten-Infos (Chipsatz usw.) erreichst du, als root, mit dem Kommando: `SuperProbe' Und noch mehr X Infos gibt dir: `X -showconfig' oder: [Info: man X] $ X -probeonly > /tmp/x.out 2>&1 ------------------------------------------------------ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo, On Wed, 14 Jun 2000, Clemens Wohld wrote:
Im Übrigen steht ~/bin im SuSE-Standardpfad.
Nein, bei der 6.2, die ich hier hab, standardmaessig nicht -- dafuer steht . am Ende ... :-/
Dann wirst du wohl in der rc.config root den . übergegeben haben.
Hae?? Wie das denn?
Default (SuSE 6.2 hab ich hinter mir) war bei mir immer KEIN . im root-PATH.
Naja, die Diskussion, dass es drei Ausgaben der SuSE 6.2 gab, hatten wir entweder hier oder auf der Pingos-Liste schon mal. ;-)
Das Rückgängig zu machen ist event. schwer. Bin mir jetzt gar nicht sicher ob es reicht in der rc.config es wieder abzusetzen.
Weiss ich auch nicht, aber nach dem Einspielen des Updates vom SuSE-Server war das "Problem" wieder behoben. Gruss Anne --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Wed, 14 Jun 2000, Clemens Wohld wrote:
Nein, bei der 6.2, die ich hier hab, standardmaessig nicht -- dafuer steht . am Ende ... :-/
Dann wirst du wohl in der rc.config root den . übergegeben haben. Default (SuSE 6.2 hab ich hinter mir) war bei mir immer KEIN . im root-PATH.
Am Ende ist der "." auch weniger gefaehrlich, da dann ein script ala "rm -rf /" unter dem Namen "ls" unter /tmp keinen Schaden anrichten kann, da /bin/ls zuerst "gefunden" wird. Der "." im Pfad ist aller- dings trotzdem keine gute Idee. Zumindest auf Rechnern, die noch je- mand anders, als man selbst benutzt.
Das Rückgängig zu machen ist event. schwer. Bin mir jetzt gar nicht sicher ob es reicht in der rc.config es wieder abzusetzen.
Die Aenderung wird AFAIK beim naechsten Lesen der /etc/profile (z.B. neu Einloggen) _nach_ dem naechsten SuSEconfig aktiv. Tschau, Volker -- <ESC>:r .signature mailto:volker.mueller@gmx.de Hi I'm a UnixVirus. Please mail me to all people you know and delete some files on your disk at random.:wq --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* On Sat, Jun 10, 2000 at 12:15:13AM +0200, Uli Schroeder wrote:
Der Hinweis mit ./ war super.
Denn damit stimmte der Pfad wieder ;) ..... benutzt man wenn root kein "."im $PATH liegt. Aus Sichreheitsgründen hab ich es nicht in der rc.config gesetzt. Sollte man auch nicht.
Ich habe aber testweise mein Programm auch mal in "myowntest" und "ulisworld" umbenannt. Wenn ich dann in der Konsole den entsprechenden Befehl eingebe, bekomme ich von der bash die Meldung "command not found" zurück.
Wenn du den gesammten (relativ) Pfad eingibst, funzt es auch. Oder eben ./
Ich stehe aber direkt in dem Verzeichnis, in dem auch das Programm liegt. Gebe ich dann "./myowntest" bzw. "./ulisworld" ein funktioniert es. Warum?? Kann man da irgendwie umstellen, damit Linux auch im gerade aktiven Pfad das Executable sucht?
Warum? Du müßtest dann root den "." in $PATH geben. Würd ich von abraten. Dann schon eher das executable nach /bin; /usr/local/bin oder eines im $PATH enthaltener Pfad. ....wieder einen $vollquoter erwischt :( <griens> Gruß, Clemens -- sig_07 Kernel patchen mittels .gz-paches: [Info: man patch] $ gzip -cd patch.gz | patch -p0 Achte darauf das du KEINEN "SuSE-Kernel" mit einem "freien" patch patcht. Da braucht's ein SuSE-patch. --------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (6)
-
aforker@ipfb.net
-
B.Brodesser@online-club.de
-
c.wohld@ndh.net
-
thojens@gmx.de
-
uli.schroeder@gmx.net
-
volker.mueller@gmx.de