Martin Trautmann wrote:
> On Thu, 31 Jul 2014 17:44:58 +0000 (UTC), Sven Mascheck wrote:
>> Martin Trautmann wrote:
>> >> > for f in *.dat*
>> [...]
>> > Weil ich immer mit der for syntax zwischen diversen shells kaempfe hab'
>> > ich das eben aufgegeben und mach's manuell. [...]
>>
>> Meinst Du diese #- und %-Formen der parameter expansion,
>> oder wirklich die syntax f�r "for"?
>
> for, foreach, while
Ahso. "for" sollte man kennen, und das ist in allen Bourne-artigen
Shells gleich. Mit "foreach", "while", u.s.w. kann man sich besch�ftigen,
wenn einem "for" nicht mehr ausreicht.
> csh: foreach f (*)
Wenn Du wirklich in csh programmieren mu�t: sie hat mit den bourne-kompatiblen
Shells nichts gemein. Anders gesagt: "bourne-kompatibel" ist wie eine Shell,
damit kann man in praktisch allen Shells skripten. csh ist dann eine ganz
neue Syntax, und au�erdem viel fehlertr�chtiger zu skripten.
Ich vermute aber, Du hast sie nur aufgez�hlt, weil sie es noch
un�bersichtlicher macht. Dann vergi� sie besser.
> bash: for i in (...) ; do
> mv ...
> done
Das gibt es nicht. Vielleicht meinst Du
for (( .... ))
Das ist halt eine weitere Variante (s.o.), die man bei speziellem Bedarf
verwenden kann.
Wie die Aufz�hlung in "for i in ..." entsteht, ist dann eine andere Sache:
for i in 1.dat 2.dat 3.dat; do ...
for i in *.dat; do ...
for i in $(kommando-das-Namen-ausgibt); do
Das hat nichts mit der eigentlichen "for"-Syntax zu tun.
Betrachte es als Baukastensystem (mit allen Vorteilen), aber komplizierter
wird es dadurch nicht.