bash /usr/bin/ls invalid argument

Nicolas BUONOMO nb.listes@free.fr
Wed Oct 29 10:17:00 GMT 2003


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@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?

bye

> /Hannu E K Nevalainen, B.Sc. EE - 59?16.37'N, 17?12.60'E
> -- printf("Timezone: %s\n", (DST)?"UTC+02":"UTC+01"); --
> --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/
> 
> 
> 




More information about the Cygwin mailing list