Errata

The Linux Command Line

Errata for The Linux Command Line

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
PDF Page 33
10th para ( 5th box or 1st complete program in section)

It's Chapter 33 Under the main heading "Flow Control: looping with for". Since i'm reading online via Safaribooks, page numbers are not available.


for this part :

if (( len < max_len )); then
max_len=$len
max_word=$i


it should be (len > max_len)

Sutirtha Das  Mar 01, 2018 
PDF Page 85
Danmark

In the last table at p. 85 the umask is not set at 0022. The table seems to be copied unmodified from the one above it.

Georg Adamsen  Sep 28, 2012 
Printed Page 204
Chapter 17, subsection User-Defined Actions

The sentence "Again, because the brace and semicolon characters have special meaning to the shell, they must be quoted or escaped."

Standalone braces {} do not have to be quoted or escaped. Executing the command echo {} will return a {} to stdoutput. This is contrast to echo \; which requires the semicolon ; to be escaped to return desired output.

Frederick K Abell III  Jul 05, 2021 
PDF Page 227
Top of page, first command in "Let's try it section"

The regex example doesn't quite work:

echo "(555) 123-4567" | grep -E '^\(?[0-9][0-9][0-9]\)? [0-9]
[0-9][0-9]$'

The $ is saying the end of the line, but the example should be referring to the next 3 digits in the number, not the last four at the end of the line. Removing the $ should get it working:

echo "(555) 123-4567" | grep -E '^\(?[0-9][0-9][0-9]\)? [0-9]
[0-9][0-9]'

Mike Worthington  Feb 17, 2020