[linux-l] Logik von "Syntax-Fehler" in Bash

Hasko Bern pascal.hasko.bernhard at googlemail.com
Fr Dez 27 14:12:11 CET 2013


Hallo Michael,

danke für Deine Hilfe. Allerdings stehe ich immer noch etwas auf dem
Schlauch, wie genau ich in diesem Fall einen Zeilenumbruch hinbekomme. Nach
Suche im Internet habe ich mehrere Anleitung ausprobiert, die aber nicht
funktioniert haben:

$ sudo for i in 1 2 3 4 5 \
> do hdparm -tT /dev/sda \
> done

Geht ebensowenig wenn ich && einfüge:

$ sudo for i in 1 2 3 4 5 && \
> do hdparm -tT /dev/sda && \
> done

Das > Zeichen stammt nicht von mir, sondern von Bash.

Wie genau bekomme ich denn einen Zeilenumbruch hin, so wie zum Beispiel
hier (http://www.howtux.de/index.php?article=1) funktioniert das bei mir
einfach nicht.

Danke,

Pascal


Am 27. Dezember 2013 13:02 schrieb Michael Gisbers <
m.gisbers at linux-schmie.de>:

> On Fri, 27 Dec 2013 12:47:09 +0100
> Hasko Bern <pascal.hasko.bernhard at googlemail.com> wrote:
>
> > Hallo an alle,
> >
> > kann mir jemand mit der folgenden Meldung zu einem Syntax-Fehler aufs
> > Fahrrad helfen? Mir erscheint dies einfach völlig unlogisch. Folgende
> > Befehle habe ich ausgeführt, um die Lese-Geschwindigkeit meiner
> > Laptop-Festplatte zu testen:
> >
> > $ sudo hdparm -tT /dev/sda
> >
> > /dev/sda:
> >  Timing cached reads:   4762 MB in  2.00 seconds = 2381.87 MB/sec
> >  Timing buffered disk reads: 232 MB in  3.02 seconds =  76.80 MB/sec
> >
> >
> > Wie ich gelesen habe, soll man diesen Test mehrer Male nacheinander
> > ausführen, damit der Cache nicht die Ergebnisse verfälscht:
> >
> > $ sudo for i in 1 2 3 4 5; do hdparm -tT /dev/sda; done
> > --bash: Syntaxfehler beim unerwarteten Wort `do'
> >
> > Nun das Ganze als Root:
> >
> > # for i in 1 2 3 4 5; do hdparm -tT /dev/sda; done
> >
> > /dev/sda:
> >  Timing cached reads:   4480 MB in  2.00 seconds = 2240.09 MB/sec
> >  Timing buffered disk reads: 174 MB in  3.02 seconds =  57.59 MB/sec
> >
> > /dev/sda:
> >  Timing cached reads:   4506 MB in  2.00 seconds = 2254.04 MB/sec
> >  Timing buffered disk reads: 186 MB in  3.01 seconds =  61.81 MB/sec
> >
> > /dev/sda:
> >  Timing cached reads:   4506 MB in  2.00 seconds = 2253.63 MB/sec
> >  Timing buffered disk reads: 196 MB in  3.02 seconds =  64.86 MB/sec
> >
> > /dev/sda:
> >  Timing cached reads:   4478 MB in  2.00 seconds = 2237.56 MB/sec
> >  Timing buffered disk reads: 156 MB in  3.08 seconds =  50.59 MB/sec
> >
> > /dev/sda:
> >  Timing cached reads:   4442 MB in  2.00 seconds = 2221.33 MB/sec
> >  Timing buffered disk reads: 172 MB in  3.01 seconds =  57.09 MB/sec
> >
> >
> > Ich kapiere es nicht, wieso erhalte ich einen Syntax-Fehler, wenn ich
> > das mit sudo mache? Es handelt sich doch offentlich weder um ein
> > PATH-Environment Problem, noch "dürfte" dies etwas mit Berechtigungen
> > zu tun haben. Muss ich etwas Besonderes beachten, wenn ich die
> > Konstruktion "for i in..." zusammen mit sudo verwende?
> >
> > Normalerweise verwende ich sudo sehr selten, nur wollte ich das auf
> > die Schnelle machen, und dies ersparte mir dann eigentliche ein
> > kleines Bisschen Tipparbeit.
> >
> > Vielen Dank für Eure Hilfe,
>
> Hallo Pascal,
>
> das Problem mit der Schleife ist einfach. Nimm bitte alle ';' und mache
> daraus einen Zeilenumbruch. Denn das ist die Aufgabe des Zeichens:
>
> sudo for i in 1 2 3 4 5
> do hdparm -tT /dev/sda
> done
>
> Der sudo - Aufruf ist damit schon nach der '5' beendet und der Rest
> wird wieder normal als neue Zeile gehandhabt.
>
> Daher die Fehlermeldung.
> --
>  Mit freundlichem Gruß,
>
>  Linux-Schmie.de
>
>  Michael Gisbers
>
>  Neukölner Str. 94
>  46147 Oberhausen
>  Telefon: +49 208 628 950
>  Telefax: +49 208 628 951
>  Mobil: +49 173 510 68 22
>  http://linux-schmie.de
>  USt-IdNr. DE 189 020 052
>
> _______________________________________________
> linux-l mailing list
> linux-l at mlists.in-berlin.de
> Die Mailingliste der BeLUG (Berliner Linux User Group)
>
> Wenn du diese Mailingliste  abbestellen willst, gehe bitte auf
> https://mlists.in-berlin.de/mailman/listinfo/linux-l-mlists.in-berlin.de
> und trage dich dort bitte aus
>



-- 
______________________________________________________
>From Googlemail-Webinterface

Pascal Bernhard
Schwalbacher Strasse 7
12161 Berlin
Germany

Phone: +49 (0) 30 32 66 58 00



*Je me regarde pour me désoler,
je me compare pour me consoler.
*



Mehr Informationen über die Mailingliste linux-l