On Montag, 28. Oktober 2002 13:53, Gerd König wrote:
ich war vorhin wohl gerade etwas vernebelt (manchmal liegt die Lösung so nah...)
Ups, da war die Antwort schon abgefeuert...
Dennoch würde mich interessieren ob man in einem Shell-Script so Sachen wie Dateinamen parsen machen kann, oder man hierfür doch lieber C hernehmen sollte.
Grundsätzlich werden Wildcards bereits in der aufrufenden Shell expandiert -
d.h. Du bekommst die reinen Wildcards im Script gar nicht mehr, außer, Du
zwingst Deinen Benutzer dazu, sie in Anführungszeichen einzuschließen.
aus
myscript *.c *.ha
wird bereits beim Aufruf
myscript hello.c aua.c kilroy.c bbb.h mmm.h aaa.h
Außer Du schreibst
myscript "*.c" "*.h"
- aber wer würde das wollen?
Das alles in C selber zu machen, macht nicht sehr viel Spaß. Du mußt dabei
große Teile einer Shell nachimplementieren - und immer darauf achten, daß zu
dazu kompatibel bleibst. Außerdem gilt natürlich auch für C-Programme das
gleiche wie für Scripts: Sie bekommen die Argumente bereits expandiert.
Sei froh, daß das so ist - damit erspart Dir jedes Linux/Unix -System, das
alles selber zu machen, und jeder Benutzer kann automatisch das benutzen, was
ihm seine Lieblingsshell in dieser Hinsicht bietet. Bei MS-DOS und
Nachfolgern (also auch Win*) ist das Sache des Programms, und deshalb kann
das kaum ein Programm.
CU
--
Stefan Hundhammer