Useranzeige verbesern, RE

Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

From: Mark Seuffert (Pirates) (captain_at_pirate.de)
Date: 12. Oct 1998


Hai,
anbei ein Script das User auf TTY11 anzeigt, ausserdem hervorhebt wenn
sich jemand ein/ausloggt (+Piepston).

Ist noch etwas zu verbessern.... vielleicht kennt sich jemand mit RE
(Regular Expression) in Shellscripts aus:
1. Die Ausgabe von diff, ob jemand beispielsweise neu eingeloogt ist,
hat noch die Dateiposition... die soll raus.
2. Ausserdem soll auch in der Funktion getusers(), der Perl Aufruf
ersetzt werden durch eine Shell-Script-Variante von RE.

Thx!

--schnipp--Datei:check4newuser--
#!/bin/bash
# This script checks for newly logged in or
# recently logged out users and display them to TTY11
# (c) October 1998 Moak <captain_at_pirate.de>

PATH=/bin:/usr/bin
export PATH;
file1=/tmp/check4newusers1.$$
file2=/tmp/check4newusers2.$$
sleep=10
# sleep=60

trap "rm -f $file1 $file2;clear>/dev/tty11;exit" 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18

getusers () {
  who|perl -pe '
    if(/^(.{9,9}).{3,3}(.{2,2})/){
        $line=$1 . " " . $2;
        if(/\(([^)]*)\)$/){
         $line.=" ".$1;
        }
        $line=~s/\t/T/g;
        $line=~s/(\S)\s+?(\S)/$1 $2/g;
        print "$line\n" ;
        $_="";
    }
  '|sort|uniq > "$1"
}

getusers $file1

while [ 1 -eq 1 ];do
        echo Currently users online: > /dev/tty11
        getusers $file2
        diff=`diff $file1 $file2`
        if [ ! -z "$diff" ];then
                login=`echo $diff|grep '>'`
                if [ ! -z "$login" ];then
                  echo ^G > /dev/console
                  echo login:$diff > /dev/tty11
                  echo > /dev/tty11
                else
                  echo ^G > /dev/console
                  echo logout:$diff > /dev/tty11
                  echo > /dev/tty11
                fi
        else
                echo > /dev/tty11
        fi
        mv $file2 $file1
        cat $file1 > /dev/tty11
        sleep $sleep
        clear > /dev/tty11
done
--schnapp--

       Gruss, /\/\ a r k

-- 
Pirates Communication  Kreative Software & Internet
Wilhelmstrasse 5       http://www.pirate.de
D-69115 Heidelberg     fone: 06221/601875  fax: 06221/601876
   .    .    .    .    .    .    .    .    .    .    .    .    .
_.´(._.´(._.´(._.´(._.´(._.´(._.´(._.´(._.´(._.´(._.´(._.´(._.´(._.

Wir koennen einem anderen nichts nuetzen, sofern wir nicht den Weg zu seinem Herzen finden. (Christoph Martin Wieland)


Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET