delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/10/29/09:26:25

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
From: "Hannu E K Nevalainen" <garbage_collector AT telia DOT com>
To: <cygwin AT cygwin DOT com>
Subject: RE: bash /usr/bin/ls invalid argument
Date: Wed, 29 Oct 2003 15:25:51 +0100
Message-ID: <NGBBLLIAMFLGJEOAJCCEIENGDFAA.garbage_collector@telia.com>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
In-Reply-To: <3F9F7FA3.6060809@free.fr>
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Importance: Normal

> From: Nicolas BUONOMO
> Sent: Wednesday, October 29, 2003 9:52 AM

> Hello,
>
> Hannu E K Nevalainen a écrit :
>
> >>From: Jared Ingersoll
> >>Sent: Monday, October 27, 2003 8:55 PM
> >
> > ....
> >
> > There is a 32KB length limit on the command line. This is
> imposed on us by
> > the underlying "OS" - i.e. not likely to change.
> >
> >
> > To check how long your command line would be, try something like this:
> >
> > $ find -type f -name 'send.log.*' |
> > (
> >   read f;
> >   cc=-1;
> >   echo "";
> >   while [ ! -z "$f" ];do
> >     cc=$(( 1 + $cc + $( echo "$f" | wc -c) ));
> >     echo -e "\e[F$cc\e[K";read f;
> >   done;
> >   echo -e "\e[F$cc chars"
> > )
> >
> > Remember to add the length of e.g. "ls -l " (note space).
> >
> > If this gives a number larger than...
> >
> > $ echo $(( ( 1 << 15 ) -1 ))
> > 32767
> >
> > ... then you're "outta luck".
> >
>
> I try your command on a Microsoft XP pro and I win
>
> nicolas AT cl12369n ~ s=1
>   $ find -type f -name '*' | (   read f;   cc=-1;   echo "";   while
> [ ! -z "$f" ]; do     cc=$(( 1 + $cc + $( echo "$f" | wc -c) ));
>   echo -e "\e[F$cc\e[K";read f;   done;   echo -e "\e[F$cc chars"; )
> 1789980 chars
>
> Where is the problem?
>

 =-) there is no problem with _my_ command. It was to show _when_ there is a
problem - and what the problem consists of.

 Try "ls -l *" in the same directory as you did your test in. That will give
you an error message, due to the limit mentioned earlier in this thread.

/Hannu E K Nevalainen, B.Sc. EE - 59?16.37'N, 17?12.60'E
-- printf("LocalTime: UTC+%02d\n",(DST)? 1:2); --
--END OF MESSAGE--


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019