Command line length in Ash or Dash Shells

Eric Blake
Mon Oct 26 17:45:00 GMT 2015

On 10/26/2015 05:16 AM, Dr Rainer Woitok wrote:
> Does anybody definitely know about a  maximum command line length in the
> Ash or Dash Shells?

/bin/ash _is_ the same as /bin/dash, so there is no difference in their

A windows process spawning a cygwin one, or a cygwin process spawning a
windows process, are both subject to Window's limits.  I'm not sure
off-hand what the actual limit is, but seem to recall the figure of 64k
as the combined limit for both argv and environ (that is, your command
line length limit IS affected by how much is also in your environment
variables at the time).  And since you quoted even lower numbers for
batch files, that is entirely possible that the Windows command line
limit is not the only limit you will hit (I avoid batch files when
possible, so I can't confirm the numbers you quoted).

One cygwin process spawning another has no inherent command line limit,
because cygwin processes use a back door in shared memory, rather than
the normal Windows command line storage, to pass their command line
arguments (in part because the windows limits are so pathetic).  So once
you start a dash shell, that dash shell can start any number of other
dash shells with no command line length limit other than the memory
available to your machine.

Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the Cygwin mailing list