[gelöst] script macht nicht was es soll...

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
pagaty
Beiträge: 609
Registriert: 18.10.2003 17:42:45
Wohnort: Aschaffenburg

[gelöst] script macht nicht was es soll...

Beitrag von pagaty » 12.02.2008 21:59:41

hallo,

ich habe ein script geschrieben, und es macht nicht was es soll. ok, das normal bei mir, aber das komische ist, es lief schon, bis vor einem monat noch, und ich habe jetzt zufällig festgestellt, das nich richtig läuft.

zweck des scriptes soll es ein das alle dateien (ausführbar) in einem verzeichnis nacheinander ausgeführt werden sollen.

script:

Code: Alles auswählen

#!/bin/bash
#
for i in /pfad/zu/den/dateien/*
do
        count=$count+1
        files[$count]=$i
done;
for ((i=count-2; i <= count; i++))
do
${files[i]}
done;
wenn ich es ausführe, arbeitet er die erste datei einmal und die letzte datei 3mal ab !?!

es kommen von zeit zu zeit neue dateien dazu. aber das sollte doch kein problem darstellen.

wo ist mein knoten?

danke im voraus

pagaty
Zuletzt geändert von pagaty am 12.02.2008 22:46:27, insgesamt 1-mal geändert.
--
Kaum macht man es richtig - schon funktionierts

mv /var/log/smalltalk/* /dev/null
(smalltalk hat nichts mit gleichnamigem forum zu tun !!!!)

Benutzeravatar
deadeye
Beiträge: 561
Registriert: 14.04.2004 15:32:18
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Ukio, rechts hinterm Feld
Kontaktdaten:

Beitrag von deadeye » 12.02.2008 22:08:20

Hmmm, also warum hast Du das Script an sich so umständlich gebaut? Warum zwei Schleifen?

So als Schnellschuss würd ich mal sagen:

Code: Alles auswählen

find /pfad/zu/den/dateien/ -type f -exec {} \;
Tut das was Du willst nur viel einfacher und wahrscheinlich zuverlässiger.

Aber noch besser, weil existiert schon [in Debian] und ist genau für das, was Du willst:

Code: Alles auswählen

man run-parts
HTH,
deadeye

Benutzeravatar
pagaty
Beiträge: 609
Registriert: 18.10.2003 17:42:45
Wohnort: Aschaffenburg

Beitrag von pagaty » 12.02.2008 22:26:31

mmm, also warum hast Du das Script an sich so umständlich gebaut? Warum zwei Schleifen?
weil ich damals scheinbar auf dem kopf gestanden habe :)
es hat halt funktioniert.
Aber noch besser, weil existiert schon [in Debian] und ist genau für das, was Du willst:
Code:
man run-parts
damit funktioniert es jetzt (drüber bin ich schon mal sehr glücklich)
musste nur --lsbsysinit anfügen wg. der dateiendungen.
vielen dank für die hilfe!

werde morgen mal gucken warum es nicht ging. wird mir sonst zu spät heute.

lg
pagaty
--
Kaum macht man es richtig - schon funktionierts

mv /var/log/smalltalk/* /dev/null
(smalltalk hat nichts mit gleichnamigem forum zu tun !!!!)

Antworten