>
<p>
This function can be used to quote an argument string such that
the shell processes it properly. This is e.g. necessary for
user-provided file names which may contain spaces or quotes.
It also prevents expansion of wild cards and environment variables.
</p>
<p>
On *NIX, the output is POSIX shell compliant.
On Windows, it is compliant with the argument splitting code of the
Microsoft C runtime and the cmd shell used together.
Occurrences of the percent sign are replaced with
\%PERCENT_SIGN% to prevent 