Learning the Korn Shell by Bill Rosenblatt Here are the changes that were made for the 8/98 reprint: (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 {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" } {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.) {209} code line 5, replaced awk '{FS=":"; print $1, $6}' /etc/passwd | with awk 'BEGIN {FS=":"} {print $1, $6}' /etc/passwd {209} para. 9, line 3: changed "The FS=":" is analogous" to "The BEGIN{FS=":"} is analogous"