Screen

whitewolf45

Active member
ID: 242802
L
24 November 2008
28
1
Hallo Leute,

ich bin gerade dabei einen install-script zu basteln. Dieser soll am Anfang überprüfen, ob er in einem Screen gestartet wurde. Nur leider weiß ich nicht, wie man das herausfindet...
Meine erste Idee war es, einfach eine pkg_info | grep screen abfrage zu machen. Wenn diese leer ist, kommt eine Meldung, dass Screen nicht installiert ist und das Script nicht ausgeführt werden kann. Problem ist aber, dass das Script ja dann immer noch nicht weiß, dass es im Scrren läuft, oder nicht...

Habt ihr eine Idee? System ist ein FreeBSD 81.
 
screen

Hallo


wenn keine scrensession läuft, sollte screen -ls keine sessions ausgeben.
Oder was verstehst du unter screen ?
 
nene..
also nochmal zur erklärung.. mein script installiert im freebsd diverse dinge und lädt die porttrees. das dauert aber eine ganze weile. problem ist dann, wenn due verbindung unterbrochen wird, dass ich nicht mehr sehe, an welcher stelle das script gerade ist. daher will ich, dass es im screen läuft. zum beginn des scripts soll dieses selbst prüfen, ob es sich in einem screen befindet oder nicht.. hab das jetzt erstmal mit den umgebungsvariablen gelöst (printenv --> nach screen greppen usw).. aber geht es nicht noch einfacher?
 
Wenn du innerhalb von screen bist, ist die Umgebungsvariable $STY auf die ID der aktuellen Session gesetzt, ohne Screen gibt es diese also nicht bzw. sie ist leer.
Außerdem hat $TERM innerhalb von screen standardmäßig den Wert "screen".

Das sollte reichen um festzustellen, ob du in einer Screen-Session bist oder nicht.