Hallo, Am Sun, 26 Mar 2006, Thomas Stark schrieb:
Sandy Drobic schrieb:
./myscript -i "\*.txt"
Sandy
Okay ich stell mich jetzt in die Ecke, respektive geh ins Bett... Trotzdem nochmal nachgefragt: Bei dieser Lösung muß nun jeder verwendete Platzhalter escaped werden: * ? und []. Ne Variable die den Aufruf spechert gibt's nicht zufällig?
Doch. u.a. $*. Dazu muessen Wildcards im Aufruf gequoted werden, so wie du's gemacht hast. Du musst dann aber auch im script die Variable bei der Verwendung quoten. Uebrigens willst du meistens $@ statt $* verwenden. Also: ==== #!/bin/sh echo "$@" ## ohne Expansion von wildcards, ## aequivalent zu: echo "$1" "$2" echo $@ ## mit Expansion von wildcards, ## aequivalent zu: echo $1 $2 for i; do echo "$i" ## keine Exp. von wildcards echo $i ## mit Exp. von wildcards done ==== Solltest du in einem Verzeichnis testen, wo nur zwei Datein liegen auf die das Muster passt. Und in $0 (nicht in $@) findet sich der Name des scripts. -dnh -- Bei den meisten Männern reicht es nicht zum Begreifen, nur zum Begrabbeln. -- Gabriele Conrad