This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Command line length in Ash or Dash Shells


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
behavior.

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 http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]