PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : aktives terminal ermitteln



flasheye
08-03-2002, 20:26
Hallo,







ich habe mir ein Skript geschrieben, welches temorär Dateien, bzw. Verzeichnisse sichert. Nun habe ich dort Fehlermeldungen eingebaut, welche ausgegeben werden sollen, wenn beispielsweise das zu sichernde Verzeichnis nicht existiert. Wenn ich das Skript selber starte, werden diese Meldungen auf der shell ausgegeben. Jedoch soll es als cronjob laufen und dann werden die Meldungen als Mail an den User geschickt. Das soll es aber nicht, weil ich nicht immer "You have a mail ..." lesen will. Dann muss ich ja erst nachschaun welche Meldung kam.







Wie kann ich ermitteln, welches Terminal (ttyX) gerade aktiv ist, damit das Skript die Meldung genau da hinschickt?







Beispiel:










if ( ! [ -d ${DIR}/$2 -o -f ${DIR}/$2 ] ) then


echo Fehler: ${DIR}/$2' existiert nicht';


exit 1


fi








Vielen dank für Eure Anregungen.





Bye.

geronet
08-03-2002, 20:39
Probiers mal mit "wall" oder "write"

Grüsse, Stefan

wd
09-03-2002, 07:07
Hallo,

leite die Fehlerausgabe doch einfach auf ein anderes Terminal um:

Hier bspw. auf tty10.

Das setzt jedoch die entsprechenden permissions für dieses tty voraus.




if ( ! [ -d ${DIR}/$2 -o -f ${DIR}/$2 ] ) then


echo Fehler: ${DIR}/$2' existiert nicht' 2>&1 1>/dev/tty10;


exit 1


fi

flasheye
09-03-2002, 13:14
Hallo,

ja ist klar. Aber woher weiss ich denn, dass tty10 gerade das aktive ist, in dem gearbeitet wird?

Es ist mir ja wichtig, dass ich diese Meldung _sofort_ mitbekomme. Wie schon gesagt es geht hiebei um ein Temporärsicherungsskript. Wenn nun etwas nicht geklappt hat, ich in meiner weiteren Arbeit Fehler eingebaut habe und nun auf eine Sicherung zurückgreifen muss, wäre es ganz schön blöd, wenn diese aufeinmal nicht da ist. Und wenn ich immer erst mutt starten muss, um nachzuschauen WELCHER Fehler da aufgetreten ist, dann hält mit der Zeit auf und fängt an zu nerven.

Mal anders gefragt, gibt es eine Möglichkeit, die TerminalNummer in dem ich mich gerade befinde, durch einen Befehl zu ermitteln?

Beispiel:

xy@z~$ Befehl
ttyX

Wenn man beispielsweise mit Strg+Alt+F2 nach tty2 switcht, dann steht es ja auch oben drüber. Das ich die Ausgabe noch dem User zuweisen muss, der das Skript getartet denke ich mir mal, oder ist das nicht der Fall?

bye.

geronet
09-03-2002, 13:49
Schick dir halt ne mail, das ist einfacher.
An der Kommandozeile sagt er ja dann sofort wenn eine da ist.

Grüsse, Stefan

flasheye
10-03-2002, 20:04
Hallo,



mein skript arbeitet auf diese Weise. Ich sagte ja schon, manchmal nervt mich's einfach an, erst nachsehen zu müssen welcher Fehler aufgetreten ist. :ugly:

Na ja, nichts für ungut.

bye.