bug-findutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

xargs --max-chars: mention that you really mean bytes


From: 積丹尼 Dan Jacobson
Subject: xargs --max-chars: mention that you really mean bytes
Date: Sat, 11 Jan 2020 21:20:05 +0800

info xargs says

'--max-chars=MAX-CHARS'
'-s MAX-CHARS'
     Use at most MAX-CHARS characters per command line, including the
     command, initial arguments and any terminating nulls at the ends of
     the argument strings.

Mention that you mean bytes, not characters.

$ echo a 哇|xargs -s 8
xargs: argument line too long
a
$ echo a b|xargs -s 8
a
b

Also mention it in man xargs

       -s max-chars, --max-chars=max-chars
              Use at most max-chars characters per command line, including the 
command and initial-arguments  and
              the terminating nulls at the ends of the argument strings.  The 
largest allowed value is system-de‐
              pendent, and is calculated as the argument length limit for exec, 
less the size  of  your  environ‐
              ment,  less  2048  bytes of headroom.  If this value is more than 
128KiB, 128Kib is used as the de‐
              fault value; otherwise, the default value is the maximum.  1KiB 
is 1024 bytes.  xargs automatically
              adapts to tighter constraints.

(Even though it does mention bytes a little.)

(Odd that the man page is more detailed than the Info page.)


$ xargs --show-limits < /dev/null
Your environment variables take up 1362 bytes
POSIX upper limit on argument length (this system): 2093742
POSIX smallest allowable upper limit on argument length (all systems): 4096
Maximum length of command we could actually use: 2092380
Size of command buffer we are actually using: 131072
Maximum parallelism (--max-procs must be no greater): 2147483647

Only the first says bytes. The rest need to too.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]