Am 2005-05-13 03:29:15, schrieb David Haller: > Hallo, > > Am Fri, 13 May 2005, Michelle Konzack schrieb: > >Also hier wird nichts auch die Platte gekippt: > >----8<-------------------------------------------- > >#!/bin/bash > > > >let SIZE=`cat $1 |wc -c`
Das macht einen arithmetischen Wert daraus
> useless use of let, useless use of cat
>
> SIZE=`wc -c < "$1"`
Das macht aber ne Zeichenkette
man bash
Wenn Du Zeit hat den Schm�ker mal durchzugehen.
Ich habe unz�hlige scripts in denen es zu unerwarteten
fehlern bei Deiner Version kommt.
Bei Deiner version kommt dann sowas wie " 1234" also eine Zeichen-
ketteraus, w�hrend bei mir "1234" einer ein zahlenwert rauskommt.
> >for SEEK in `seq 0 $SIZE` ; do
> > dd if=$1 of=- bs=584 seek=$SEEK count=1 |\
>
> Da fehlt die Umrechung in die Bloecke (s.u.)... Du rufst so dd fuer
> jedes byte auf...
Ups, sollte
for SEEK in `seq 0 584 $SIZE` ; do
sein.
> > netcat -u -q 0 127.0.0.1 2006
> > if [ $? == "1" ] ; then break ; fi
>
> Useless use of test (s.u.). Ausserdem sollte das, wenn schon, dann
Nein, denn die Schleife rennt weiter wenn 'netcat'
einen Fehler hat. 'break' beendet die Schleife.
> if test $? -ne 0; then break; fi
>
> oder meinetwegen auch per Stringvergleich
>
> if test "x$?" != "x0"; then break; fi
>
> sein. 'help test' hilft. Ausserdem sollte man beachten, ob man einen
> String oder eine Zahl vergleicht. Und das dann auch passend umsetzen.
Das macht nichts in diesem Fall (Exit Status),
kann entweder
if [ $? == "1" ] ; then break ; fi
oder
if [ $? -eq 9 ] ; then break ; fi
verwenden
> Ja, bei sowas bin ich ein Pedant ;)
Abgesehen vom 'seq' funktioniert mein Script
> -dnh
Greetings
Michelle
--
Linux-User #280138 with the Linux Counter, http://counter.li.org/
Michelle Konzack Apt. 917 ICQ #328449886
50, rue de Soultz MSM LinuxMichi
0033/3/88452356 67100 Strasbourg/France IRC #Debian (irc.icq.com)
signature.pgp
Description: Digital signature

