sonnenblen.de - Das unabhängige Sun User Forum

Betriebssysteme => Solaris => Thema gestartet von: JanD am 29. September 2009, 13:25:53

Titel: Frage zu einem Programm-Aufruf ???
Beitrag von: JanD am 29. September 2009, 13:25:53
Moin

solaris 10 - xy Agentensoftware Software installiert in einem /xy/bin Verzeichnis

in /xy/bin ist ein executive
kann ich starten mit /xy/bin/executive oder
wenn ich im /xy/bin stehe mit executive (weil ein . in PATH steht) oder
wenn ich im /xy/bin stehe mit ./executive

was ist genau der unterschied zwischen  ./executive  und  executive

Hintergrund:
starte ich Programm mit  executive - gibt es ein Fehler (Lib nicht gefunden)
starte ich mit ./executive  - läuft das Programm fehlerfrei

hat da einer eine Ideeß
Titel: Re: Frage zu einem Programm-Aufruf ???
Beitrag von: claus am 29. September 2009, 22:13:59
Hallo,

starte Anwendungen einfach immer mit ./, dann solltest Du nie ein Problem haben. Den Unterschied hab ich mir nie gemerkt.

Beste Grüsse,

Claus
Titel: Re: Frage zu einem Programm-Aufruf ???
Beitrag von: Padde am 30. September 2009, 00:35:01
in /xy/bin ist ein executive

Das glaube ich allerdings nicht...  ;)

was ist genau der unterschied zwischen  ./executive  und  executive

"./executive" startet die im aktuellen Verzeichnis befindliche Führungskraft. Bei "executive" dagegen wird im $PATH nach ihr gesucht. Schau bei Bedarf in ein UNIX-Anfängerbuch.

Hintergrund:
starte ich Programm mit  executive - gibt es ein Fehler (Lib nicht gefunden)
starte ich mit ./executive  - läuft das Programm fehlerfrei

Dann hat die Anwendung ein massives Problem damit, ihre Libraries vernünftig zu verwalten. Vielleicht verwendet sie sowas wie "basename(argv[0])", um den Pfad zu den Bibliotheken zu finden. Das klappt natürlich nicht, wenn die Anwendung über den $PATH ausgeführt wird. Das ist allerdings reine Spekulation - ohne nähere Informationen kann man nur raten, wo es klemmen könnte.