David Haller schrieb:
Am Sun, 26 Mar 2006, Thomas Stark schrieb:
Sandy Drobic schrieb:
./myscript -i "\*.txt"
Sandy 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 ====
So einfach kann die Welt sein :-). Mein Dank wird dir ewig nachschleichen. Was ich jetzt noch nicht kapiert hab ist der Unterschied zwischen $* und $@? Viele Grüße Thomas