On Fri, Jan 12, 2024 at 01:29:19AM +0100, Ángel wrote: > One might say "reading exactly nchars characters into the name",
I would still find that confusing. What actually counts is how many characters are *stored* in the variable, not how many characters are *read* from the input. > but > given that there's no mention that the NULs are never stored in > variables, I would tend to add a line below saying e.g. "NUL characters > cannot be stored in bash variables and are always ignored by read". I would be as explicit as possible. Don't require the reader to put any pieces together themselves. How about this for the man page: -N nchars read returns after storing exactly nchars characters in the first named variable (or REPLY if no variable is named), unless EOF is encountered or read times out. read does not wait for a complete line of input; any delimiter characters encountered in the input are not treated specially, and do not cause read to return before storing nchars characters. NUL characters are ignored, as they cannot be stored in variables. The result is not split on the characters in IFS; the intent is that the variable is assigned exactly the characters read (with the exceptions of NUL and backslash; see the -r option below). If multiple variable names are given, input is only stored in the first; all other variables will be empty. And this for the help text: -N nchars return only after storing exactly NCHARS characters, unless EOF is encountered or read times out, ignoring any NUL or delimiter characters