diff doc/recipes.txt @ 671:7a8ddf54f012

0.6dev: Changing Windows `CommandLine.execute()` to not go through a shell. This makes execution consistent across platforms, and also fixes the quoting and escaping issues reported in #441. Also adds proper documentation for quoting and escaping.
author osimons
date Sat, 05 Sep 2009 00:20:09 +0000
parents 294641e84e89
children 0c4fec90c8e2
line wrap: on
line diff
--- a/doc/recipes.txt
+++ b/doc/recipes.txt
@@ -112,3 +112,16 @@
 +-----------+------------+
 | ``'``     | ``'`` |
 +-----------+------------+
+
+If needed, most commands use regular shell rules to split parts of the input -
+typically like ``args`` input for ``sh:exec`` command. Double-quotes
+(``"``) can be used to mark the start and end if any sub-parts contain
+whitespace, alternatively ``'\'`` can be used to escape whitespace or any other
+character that carries meaning as part of input - including double-quotes and
+backslash itself:
+
+.. code-block:: xml
+
+  <sh:exec file="echo" args="o\\ne &quot;4 2&quot; \&quot;hi\ there\&quot;"/>
+
+This will pass 3 arguments: ``o\ne`` + ``4 2`` + ``"hi there"``.
Copyright (C) 2012-2017 Edgewall Software