[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Seltsames Verhalten von echo
[Thread Prev] | [Thread Next]
- Subject: Re: Seltsames Verhalten von echo
- From: Markus Demleitner <msdemlei@xxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 20 May 2011 08:03:39 +0200
- To: uugrn@xxxxxxxxxxxxxxx
On Fri, May 20, 2011 at 01:49:19AM +0200, Stephan Gromer wrote: [...] > echo '\begin{document}' >>"$CREATETEX" [...] > ^Hegin{document}$ [...] > Was ich nicht verstehe ist, warum einige der \ durch seltsame Zeichen > ersetzt wurden, die auch gleich noch weitere Zeichen "fressen". Die \ > sind doch alle in '' angegeben. Ich habe auch schon Zeilen geloescht, in Die Freuden des Unix-Quotings. Aber der Schluessel hier ist die richtige Frage: "*Welches* echo verhaelt sich, na ja, komisch?". Waehrend naemlich echo (1), also in der Regel /bin/echo in der Manpage sagt -E disable interpretation of backslash escapes (default) ist das, was du bekommst, wenn du dein Skript so schreibst, wie du es schreibst, das bash-builtin. Ueber das erfaehrt man in help echo: `echo' interprets the following backslash-escaped characters: \a alert (bell) \b backspace -- und da kommt das ^H her (der backspace). Es gibt viele Moeglichkeiten, das zu fixen (%s#echo#/bin/echo im vi ist eine davon), aber ich wuerde wahrscheinlich zu einem Here-document raten, so wie das gemacht ist. Aber zwecks due diligence: Shellskripts als CGI-Backends verlangen viel Sorgfalt bei der Input-Validierung, und wenn du Eingaben aus dem Netz in TeX uebernimmst, solltest du dran denken, dass TeX Turing-vollstaendig ist und Zugriff auf dein Dateisystem hat. Gruesse, Demi -- UUGRN e.V. http://www.uugrn.org/ http://mailman.uugrn.org/mailman/listinfo/uugrn Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste Archiv: http://lists.uugrn.org/