-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am Mittwoch, 21. Januar 2004 20:49 schrieb David Haller: Hallo David,
Am Wed, 21 Jan 2004, Thomas Moritz schrieb:
da ich mir bereits mein 2. Eigentor geschossen habe siehe "grep Frage" sollte ich mir zu Testzwecken eine weitere Shell raufbuegeln. Eine Shell, die nicht so "nett" ist wie die bash und Syntax-Fehler ala Quoting von vorn herein anmeckert. Aber welche?
Das sind ja keine Syntaxfehler. Du hast nur das Argument fuer grep nicht vor der shell versteckt. Dein Fehler war also das nicht quoten.
Das ist mir mittlerweile sehr bewusst geworden:-) Das Problem ist aber, dass die bash das fehlende Quoting "richtig" interpretiert, solange kein File mit dem Namen eines Argument existiert. Ich kann also etliche Tests mit positivem Ergebnis durchfuehren und bin in dem guten Glauben - It's perfect, selbst wenn ich aus Versehen oder Unwissenheit nicht/falsch quote.
Grundregeln:
1. i) quote alles mit ''. Es sei denn: ii) quote den Teil, in dem die _shell_ Variablen expandieren soll nur mit "". Falls das auch nicht geht: iii) Escape Sonderzeichen
2. Mache dir klar, was, wann und wo die shell(!) expandieret bzw. expandieren soll. Bei grep '^[123]' datei.txt soll die shell _nichts_ expandieren -> '', bei r='[123]'; grep "$r" datei.txt soll die shell das "$r" expandieren, das ='[123]' aber nicht. -> erst '', dann "".
Ich habe mich in den letzten "Tagen" weiter in diese ganze Thematik eingelesen. Trotzdem finde ich es ratsam, verschiedene Sachen in einer anderen Shell zu testen. Mein obiges Problem waere mir beispielsweise in der zsh gleich aufgefallen. SHELL=/bin/zsh Die zsh meckert das fehlende Quoting an! Allerdings stellt sich jetzt die Frage: Bietet die zsh Funktionen an, die in der bash _nicht_ laufen? So weit vorzudringen habe ich in der kurzen Zeit nicht geschafft und das Wochenende hat sich gerade per Telefonat in "dienstliches Kilometerschrubben" aufgeloest:-( Also bis ... MfG Th. Moritz - -- Geisterfahrer sind oft sehr entgegenkommend! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFAEWrkPBTBVZNAOL4RAl6VAKCFZSXhcSrcDt78DUurtJcTlSbeaACbB+RK Hoe4T77hPhq1lt7aGBdMh00= =aiuw -----END PGP SIGNATURE-----