Hilfe bei einem Shellscript gesucht

Norbert3f

kennt sich schon aus
Hi,

normalerweise arbeite ich mit PHP,
aber diesmal muss/soll es unbedingt ein Shellscript sein ... :mad
1. Problem - ich habe keine Ahnung
2. Problem
vorhanden sind vier Variable (a1, a2, a3, a4)
die mit Zahlen von 0-255 belegt sein koennen.
Die einzelnen Werte muessen mit jeweils einer Zahl
multipliziert und summiert werden.
Die Summe ist ein 1900-er Timestamp, von dem 70 Jahre
(-2208988800) zu subtrahieren sind.
Nun soll das Ergebnis im deutschen Datums/Zeit-Format ausgegeben werden.
3. Problem - ich habe immer noch keine Ahnung ... :mad

Bin mir ziemlich sicher, dass das 2.Problem fuer einen
Linuxer in wenigen Minuten zu loesen ist.
Leider bin ich keinen ... ;)


Gruss und Dank
Norbert
 
Hi,

Jungs, Ihr seid zu langsam !

Das Problem wurde von jemand anderem "erschlagen" !

Macht nix, vielleicht klappt es ja beim naechsten mal ... :)

--
 
@Killerkuno

genau Deiner Meinung, wenn jemand in nem Forum die frage stellt, die Antwort dann bei wem anderem findet, dürfte aber trotzdem die Lösung im Board mitteilen.
Vielleicht hilft sie ja jemand anderem auch noch

also die bitte an Norbert3f

bitte die Lösung hier publizieren!!
Danke
 
und hier die Loesung

Hallo,

am einfachsten ich kopiere hier die gefundene Loesung im vollen Kontex.
Ziel war es einen Time-Server abzufragen ohne "maechtige" Softwarepakete zu installieren.
Code:
#!/bin/bash
myTmp=`telnet ntp1.fau.de 37 2>/dev/null | od --width=1 -tu1 | tail -n5 | head -n4 | cut -d \  -f 2- | tr "\n" " "`
declare -a ARR=($myTmp)
k1=$((256 * 256 * 256));  # -- Stellenfaktor
k2=$((256 * 256));  # -------- Stellenfaktor
k3=$((256));  # -------------- Stellenfaktor
k4=2208988800;  # ------------ Sekunden von 1900 bis 1970
zahl=$((ARR[0] * k1 + ARR[1] * k2 + ARR[2] * k3 + ARR[3] - k4));
echo "Netz-Zeit  = "$zahl" = "$(date -d '1970-01-01 '$zahl' sec' +%d.%m.%y-%H:%M:%S);
zeit=$(date +%s)
echo "Systemzeit = "$zeit" = "$(date -d '1970-01-01 '$zeit' sec' +%d.%m.%y-%H:%M:%S);
Ist wie immer, wenn man es weiss, ganz einfach ... :)
 
Oben