PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : hab problem mit kleiner shell



stevennuernberg
28.10.03, 12:25
:confused:

hi,

bin absoluter newby,
muss aber für arbeit ne shell skript programmieren.

hab ne file, die in dem skript erstellt wird --> nennt sich x10 (völlig egal)
in dieser file steht nix anderes als ne zahl zwischen 0 und 30

jetzt muss ich mit einem if befehl oder sowas entweder ein signal ausgeben (welches weiss ich selbst net) oder irgendetwas auf den screen printen wie z.B. achtung!!

wie mach ich das, tüfftle schon stunden rum, es funzt aber net..

bedanke mich jetzt schonmal, für eure Hilfe...





MfG aus Nürnberg

Steven


PS: wenn ihr mir vielleicht auch vorschläge für so ein signal posten könnten, wäre echt top... danke danke danke!!!!!!!

Der Gestreifte
28.10.03, 12:50
Dein Posting wirkt ein wenig kryptisch, so dass ich nur vermuten kann, dass Du etwas in der Art von
VAR=10; [ $VAR -gt 0 -a $VAR -le 30 ] && echo signal meinst.
Poste doch nochmal genauer, was Du tun sollst, und vor allem, was Du zur Lösung schon in ngriff genommen hast. Idealerweise auf http://mrunix.de

stevennuernberg
28.10.03, 14:01
hmm,

also ich hab eine Datei 'emails' von der mich nur die Uhrzeiten interessieren, um genau zu sein die letzte, also muss ich mir die Spalte rausnehmen mit den Uhrzeiten und diese sortieren und in Minuten umrechnen, soweit alles klar... Dann nehm ich mir die jetztige Zeit her, rechne diese in Minuten um und zieh die 2 zahlen voneinander ab... raus kmomt die Zeitdifferenz der jetztigen zeit und der letzten eingegangenen email...
diese zeitdifferenz steht jetzt in einer datei, die sich x10 nennt... da die zeitdifferenz nicht größer als 3 minuten sein darf, muss er, wenn sie doch größer ist ein signal oder soetwas von sich geben!!!

aber wie???

Hier noch mein bisheriges SKRIPT:

awk '{ print $8 }' emails > x1
sort x1 > x2
sed '/^$/d' x2 > x3
tail -1 x3 > x4
date '+%H:%M' >> x4
sed 's/:/ /g' x4 > x5
awk '{ print total = $1 * 60 + $2 }' x5 > x6
head -1 x6 > x7
tail -1 x6 > x8
paste x7 x8 > x9
ZEITDIFFERENZ= `awk '{ print total = $2 - $1 }' x9 > x10`
rm x?


jetzt müsste so eine art if befehl kommen, nach dem schema, if x10 > 3 then echo signal oder so????



danke jetzt schon mal!!

stevennuernberg
28.10.03, 14:28
hab das problem gefunden:


ich hatte immer sowas in der art von

var=x10
if [ $var -lg 3]
then blablabla

aber es müsste ja heissen var=`cat x10`

weil x10 ist ja eine Datei, die erst gelesen werden muss....

aber danke trotzdem für eure bemühungen.

hoffe, vielleicht den ein oder anderen eine kleine anregung gegeben zu haben, oder auch nicht, bin ja doch nur ein kleiner anfänger

greetz stevo

Der Gestreifte
28.10.03, 15:20
Statt den Wert erst in einer Variablen abzulegen könntest Du auch direkt
[ `cat x10` -lg 3 ] nehmen.

stevennuernberg
29.10.03, 08:54
oh ja,

auchnoch ein guter tipp, danke

habs jetzt endlich geschafft... mein skript zu beenden! und es geht!



TOLL denkt ihr bestimmt alle, aber für mich ein großer schrit ;)



Haut nei!!

greetz euer steven

cu@RIP?!

stevennuernberg
29.10.03, 11:28
hi,

hab da noch ne frage:


-kann man den text nach dem echo irgendwie blinken lassen oder in einer anderen Frabe anzeigen oder so was?

- habe ausserdem noch ein echo '/007' piep dazugefügt, gibt es da noch mehr, was man so an Geräuschen oder Effekten machen kann, wie z.B. eine email lossenden oder eine sms senden???


Wäre top, wenn mir jdm. weiterhelfen könnte.

THX stevo