[comp.binaries.ibm.pc.d] MS_SH 1.6 utils...

weisen@eniac.seas.upenn.edu (Neil Weisenfeld) (08/11/90)

Is there any way that we can get rid of the arg/env list too long
problem.  I'm assuming that other people have had this problem.  On
both of the machines that I tried ms_sh and the utilities on, trying a
command like: "ls *" (no quotes) would almost always end in the
program exiting with an error like "c:/unixbin/ls.exe: arg/env list
too long."  Has anyone come across this?  Is there any way to increase
the environment size?

Thanks in advance,
Neil

williams@umaxc.weeg.uiowa.edu (Kent Williams) (08/11/90)

DOS has a hard and fast limit on command line length of 128
characters.  The usual solution is to stuff the expanded command line
into the environment -- the MKS tools puts them first, without the
NAME= labels.  The Aztec C tools puts them last, after an equals-sign
with no NAME.

But without a widely followed standard, you're stuck.  In the
particular case of

		ls *

You're probably better turning globbing off, and letting ls do its own
expansion.



--
Kent Williams                    'Look, I can understand "teenage mutant ninja 
williams@umaxc.weeg.uiowa.edu    turtles", but I can't understand "mutually 
williams@herky.cs.uiowa.edu      recursive inline functions".' - Paul Chisholm

rreiner@yunexus.YorkU.CA (Richard Reiner) (08/11/90)

weisen@eniac.seas.upenn.edu (Neil Weisenfeld) writes:

>a command like: "ls *" (no quotes) would almost always end in the
>program exiting with an error like "c:/unixbin/ls.exe: arg/env list
>too long."  Has anyone come across this?  Is there any way to increase
>the environment size?

The problem is MS-DOS's 128-character command line limit: when the
shell globs your "*", the resulting list of names is over 128
characters long.  I don't know if this will work with uxutl162, but
using the PiCnix utilities one can get around this by doing e.g. "ls
\*", since the utilities can do their own globbing.

ee5391aa@hydra.unm.edu (Duke McMullan n5gax) (08/14/90)

Neil, the problem is the 128-character limit of the command line, which seems
hardwired into COMMAND.COM. The easiest way out I know of is to go to 4dos,
which is a replacement for COMMAND.COM (different name(s)) which cheerfully
accepts a 256-char. command line. 4dos is also MUCH easier to live with than
messdos. Personally, I wouldn't leave home without it.

You'll find 4dos on the various ftp sites and on many bulletin boards. Look
for version 3.1, which (I believe) is the current release.


						"Try it: You'll like it,"
							d


PS: 4dos is *almost* completely compatible with messdos.
						d


--
	  When you're up to your butt in alligators, it's difficult
	to remember that the initial objective was to drain the swamp.
					-- traditional
   Duke McMullan n5gax nss13429r phon505-255-4642 ee5391aa@hydra.unm.edu