2017-02-20 1 views
0

Ich bin neu zu verwenden screen Sitzungsbefehl. Beim Versuch, sqlplus innerhalb screen Sitzung zu verwenden, schlägt der Befehl sqlplus den folgenden Fehler.Zugriff auf sqlplus in der Bildschirmsitzung fehlgeschlagen

Es wäre wirklich toll, wenn jemand helfen, die Ursache aufzuzeigen und zu beheben.

+2

Klingt so, als würden Sie keine Shell-Startup-Datei ausführen, die 'LD_LIBRARY_PATH' setzt. – Barmar

Antwort

0

Dank @barmar für das Zeigen auf die Ursache des Problems. Entschuldigen Sie, dass ich eine Antwort auf meine eigene Frage hinzugefügt habe, aber hier zum Wohle anderer.

Wie @barmar wies darauf hin, die screen Sitzung fehlt LD_LIBRARY_PATH Umgebung Pfad, der in der Shell-Umgebung (Csh) verfügbar war.

Wir können die LD_LIBRARY_PATH Sitzung innerhalb screen Sitzung manuell festlegen, aber das wird zeitaufwendig Aufwand sein, wenn wir Bildschirm in mehreren Terminals verwenden müssen. Also, um zu automatisieren, dass folgende Änderung in .cshrc hinzugefügt wird (wie meine Shell ist csh).

if $?LD_LIBRARY_PATH then 
setenv LD_LIBRARY_PATH_SCREEN ${LD_LIBRARY_PATH} 
endif 

Nach dem Wechsel wird in .screenrc hinzugefügt:

setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH_SCREEN} 

Dieser Ansatz kann für andere fehlende Umgebungsvariablen in einer screen Sitzung erweitert werden.