* David Haller schrieb am 07.Sep.2001:
On Fre, 07 Sep 2001, Andreas Kyek wrote:
Die Implementation mittels einer Schleife "for f in /etc/rc3.d/S*" (aus /sbin/rc3 der Sun) führt die Skripte S* alle in lexikografischer Reihenfolge aus. Das kann doch aber auch Zufall sein, oder? Ich habe gerade mal man bsh/sh kurz angelesen. Da find ich nix davon, das die Reihenfolge so sein muß.
for name [ in word ... ] do list done
Die Reihenfolge haengt davon ab, wie die shell den * expandiert und an die for-Schleife uebergibt...
So ist es.
Die Sortierung wird von LC_COLLATE (bzw. LANG wenn LC_COLLATE nicht gesetzt ist) bestimmt.
bzw. LC_ALL wenn es gesetzt ist, das geht noch vor LC_COLLATE. LC_ALL ist im Normalfall besser nicht gesetzt.
Im Zweifelsfall kann man die Schleife als:
LC_COLLATE="POSIX" for name in ...
schreiben. So sollte sich dann auf allen POSIX-konformen Systemen die gleiche Reihenfolge ergeben.
Alles Richtig. Nur, und da hat Erhard recht, wo steht geschrieben, daß die Abarbeitung der Startskripte über eine solche for-Schleife zu erfolgen hat? Es kann doch jeder Provider dies anders machen. Wenn er eine for-Schleife so wie oben angegeben, benutzt, dann wird es so sein, aber es könnte ja auch anders gelöst werden. Ich wüßte auch nicht, daß es zwingend ein Skript sein muß. Vielleicht nimmt ein anderer Provider ein C, C++ oder Java-Programm und führt über ein fork mehere Skripte gleichzeitig aus. Bernd -- Bitte die Etikette beachten: http://home.t-online.de/~f.walle/etikette.html Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 4