Am Wed, 09 Sep 1998 schrieb Norbert Diernhofer:
Ich möchte mit einem Script alle Scripte eines Unterverzeichnisses ausführen. Das ganze sieht etwa so aus.
Ich hab ein Verzeichnis bla mit dem Script a Im Verzeichnis bla gibt es ein Unterverzeichnis bla
Das Script a soll nun alle Scripte im Verzeichnis /bla/bla mit dem Zusatz & ausführen.
Gibt es hier bei Linux einen Befehl, oder muß ich alle Scripte in /bla/bla per Hand im Script a angeben.
Ich bräuchte also eine Art Befehl run oder start.
Ich geh mal davon aus, dass Du alle ausführbare Dateien[1], die unterhalb von /bla/bla liegen[2], ausführen möchtest. Das macht die Sache leichter. [1] Also auch alle übersetzte C-Prog. ... [2] Es werden auch alle ausf. Dateien ausgeführt, die in ein Unterverzeichnis stehn. Z.B. in /bla/bla/bla Gib einfach for i in $(find /bla/bla -type f -perm -1); do $i & done ein. Kanst das natürlich auch in einem script schreiben. Pass aber auf, das es sich nicht selbst aufruft. Schau Dir den Befehl find im Manual und/oder info-Seiten an. man find info find ist ein sehr mächtiges Werkzeug. Die for...in...do...done Schleife ist Bestandteil der bash. Siehe: man bash Wofür brauchst Du das eigentlich? Gibt es da keine bessere Möglichkeiten? Ist eigentlich nicht so geschickt, alles auszuführen was in einem Verzeichnis steht. Da könnte auch mal ein Blödsinn hingelangen. Besser ist, wenns mehr nachvollziehbarer wird. Du könntest zumindest den find Befehl noch mit einem -name erweitern. Z.B.: find /bla/bla -name "cmd*" -type f -perm -1 Dann müssten alle Deine scripte mit cmd beginnen. Meist gibts noch bessere Lösungen. -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux