Learning the Korn Shell

Errata for Learning the Korn Shell

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. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update



Version Location Description Submitted By Date Submitted Date Corrected
Printed
Page xxii
The following text was added to the Preface

"We have a web site for the book, where we'll list examples, errata, and any plans for future editions. You can access this page at: http://www.oreilly.com/catalog/9781565920545/

Anonymous    Mar 01, 2000
Printed
Page 25
para. 5, line 2

"For example, print 'Bob\'s hair is brown' will not give you": changed font of the second apostrophe to match the font of the first and last apostrophe

Anonymous    Aug 01, 1998
Printed
Page 74
Beginning of third paragraph.

Sometimes your UNIX software will set up TERM correctly; Now reads: Sometimes your UNIX Software will not set up TERM correctly;

Anonymous    Jun 01, 1999
Printed
Page 80
In the third paragraph, the following text was deleted

"Any variable can become an environment variable. First it must be defined as usual; then it must be exported with the command: export varnames" This text was was replaced with: "Any variable can become an environment variable, and new variables can be created that are environment variables. Environment variables are created with the command: export varnames If the names in varnames already exist, then those variables become environment variables. If they don't, then the shell creates new variables that are environment variables.

Anonymous    Mar 01, 2000
Printed
Page 87
In Figure 4-1, the string ".fred" in part (a) should be ". fred".

Anonymous   
Printed
Page 94
the code lines

IFS=, print $* now reads: IFS=, print "$*"

Anonymous    Mar 01, 1999
Printed
Page 97
1st entry in table: in "-word": made the hyphen an en-dash

Anonymous    Jan 01, 1998
Printed
Page 98
same fix as on p. 97 to para. 5 line 3 and to the next-to-last

line on this page

Anonymous    Jan 01, 1998
Printed
Page 105
In the the last item of the second bulleted list, an additional

thin space was placed between "N" and "" in the string "N".

Anonymous    Mar 01, 2000
Printed
Page 113
ninth line from the top of the page: changed

ls -l | grep -i '^.{41}$date' | cut -c55- to ls -l | grep -i "^.{41}$date" |cut -c55-

Anonymous    May 01, 1998
Printed
Page 116
code lines 1-6, replaced

function pushd { dirname=$1 cd ${dirname:?"missing directory name."} DIRSTACK="$dirname ${DIRSTACK:-$PWD}" print "$DIRSTACK" } with function pushd { dirname=$1 cd ${dirname:?"missing directory name."} DIRSTACK="$PWD ${DIRSTACK:-$OLDPWD}" print "$DIRSTACK" }

Anonymous    Aug 01, 1998
Printed
Page 116
para. 4, lines 1-3: changed

"The third line of the function pushes the new directory onto the stack. The expression ${DIRSTACK:-$PWD} evaluates to $DIRSTACK if it is non-null or $PWD (the current directory) if it is null." to "The third line of the function pushes the directory that was current before the change onto the stack. The expression ${DIRSTACK:-$OLDPWD} evaluates to $DIRSTACK if it is non-null or $OLDPWD (the current directory before cd) if it is null." ("S{DIRSTACK:-$OLDPWD}", "$DIRSTACK", "$OLDPWD" and "cd" are bold.)

Anonymous    Aug 01, 1998
Printed
Page 126
The following text was added before Table 5-1

"Note that these operators compare the lexicographic values of strings, so that "10" < "2".

Anonymous    Mar 01, 2000
Printed
Page 157

The code in the middle of the page used to read: sort -nr $filename head -$howmany It now reads: sort -nr $filename head $howmany

Anonymous    Mar 01, 2000
Printed
Page 166
The following text was appended to the footnote

"However, other C operations, like the increment and decrement operators ++ and --, do not have Korn shell equivalents."

Anonymous    Mar 01, 2000
Printed
Page 172

The top of the page currently reads: else cd $dirname dirname=$1 It should read: else # normal case of pushd dirname dirname=$1 cd $dirname

Anonymous   
Printed
Page 179

The "typeset -uR5" example in Table 6-6 used to read: "VWXYZ" It now reads: "WXYZ"

Anonymous    Mar 01, 2000
Printed
Page 185
The underlying operating system supports up to 16 open files

(or more, depending on the version of Unix), but the shell will only parse 0-9. So this page needs to be corrected to say 10 instead of 16.

Anonymous   
Printed
Page 188
In the code example,

1,/^[]*$/d now reads: 1,/^[ ]*$/d

Anonymous    Jun 01, 1999
Printed
Page 203

The second paragraph used to read: "...all whitespace in the lines from the fill is preserved..." It now reads: "...trailing whitespace in the lines from the fill is preserved..."

Anonymous    Mar 01, 2000
Printed
Page 208

Table 7-5 used to read: row #5: '$dave' | $dave row #6: '$dave' | 'bob' It now reads: row #5: '$dave' | $dave row #6: \'$dave\' | 'bob'

Anonymous    Mar 01, 2000
Printed
Page 209
code line 5, replaced

awk '{FS=":"; print $1, $6}' /etc/passwd | with awk 'BEGIN {FS=":"} {print $1, $6}' /etc/passwd

Anonymous    Aug 01, 1998
Printed
Page 209
para. 9, line 3: changed "The FS=":" is analogous"

to "The BEGIN{FS=":"} is analogous"

Anonymous    Aug 01, 1998
Printed
Page 214
In the function makecmd, should be replaced with \t

Anonymous   
Printed
Page 272
The following text was added to the list of limitations

"9. Because the lines of a script being debugged are read into an array, and arrays can only hold up to 1024 elements, kshdb will not work on scripts of more than 1024 lines. One workaround to this might be to remove lines from the script that contain only comments or whitespace.

Anonymous    Mar 01, 2000
Printed
Page 283
in the footnote, changed NAND to XOR

Anonymous    Jan 01, 1998