On Tue, Mar 19, 2002 at 11:37:44AM +0100, Reinhard Foerster wrote:
> On Tue, Mar 19, 2002 at 09:07:28AM +0100, Andreas Metzler wrote:
>> Rolf Buenning <[EMAIL PROTECTED]> wrote:
>> [...]
>>> Falls die bash eine 'neuere' ist ( 2.04...) ist ( echo $BASH_VERSION),
>>> unterstützt sie eine C-ähnliche Syntax, also ...
 
>>> for ((i=2; $i<254; i=$[$i+1])); do ...
 
>> Vor der Verwendung dieses Features wuerde ich dringend abraten, es
>> bringt keinerlei Vorteile, dafuer aber Inkompabilitaet mit jeder
>> anderen bourne-Shell.
 
> Na und? Wer /bin/bash oben ins Skipt schreibt, schreibt ein Skript
> für bash und nicht für "irgendeine andere bourne-Shell" Also kann er
> auch Bash-Syntax nutzen. Der Fragesteller wollte explizit bash
> haben.
[...]

Hallo!
"Irgendeine andere bourne-shell" impliziert in dem Fall aber eben auch
bash (und nicht nur steinalte Versionen), dh. #!/bin/bash genuegt nicht
um die Lauffaehigkeit des Skripts zu garantieren.

"bringt keinerlei Vorteile" bleibt ausserdem.

Da mich Joern (im geliebten Kammformat) als falschen POSIX-Juenger
abgestempelt hat, noch eine Klarstellung:

Ich habe nichts dagegen, Features zu nutzen, die auf BSD 0.0.0.0.0.1
von anno schnee nicht existieren, _wenn_ es Sinn macht. In dem Fall
war das nicht der Fall, die Aenderung brachte keinen Vorteil, der Code
ist nicht besser, schneller oder einfacher, aber das Skript laeuft
nicht einmal unter potato (oder zB. RedHat 6.2) Die andere Variante
duerfte unter so ziemlich jedem Linux laufen (ausser 1-Diskettenlinux
mit abgespecktem busybox).

Ein echter Kompatibilitaetsfanatiker haette uebrigens sofort die
Verwendung von seq bemaengelt, ich finde das aber ok, wenn bash
verfuegbar ist, hat man wohl auch GNU sed und
for in `seq 1 100` do blah ;done
ist kuerzer und ueberschaubarer als z.B.
i=0; while [ $i -le 100 ] ; do blah; i=`expr $i + 1` ; done
              cu andreas


-- 
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an