📄 change.log
字号:
18) In "Analyzing Scripts" section of "Exercises" appendix: Minor stylistic changes in commentary.19) In "Copyright" chapter: Added links for Russian and Italian translations.20) Moved the Revision History to the back of the book, into an appendix of its own. (I have had numerous requests to do this.)Version 2.2 'CRANBERRY' release, 11/01/03Comments: Major release. Much new material added.1) In "Text Processing Commands" of "External Commands and Filters" chapter: Fixed up listing of "gettext." (Thanks, Bruno Haible.) Added "msgfmt." Renamed "du.sh" example to "Du.sh" to avoid confusion with system 'du" command. (Thank you, Bill Gradwohl.)2) In "Typing Variables" section of "Variables Revisited" chapter: At 'declare,' added example of arithmetic operations enabled with '-i' option. Fixed term heading to "-x var=$value." (Thank you, Bill Gradwohl.)3) Modified "Localization" appendix, per suggestions by Bruno Haible.4) In "Internal Variables" section of "Variables Revisited" chapter: Added '$PROMPT_COMMAND.' Fixed an error in "arglist.sh" example. Added Bj鰊 Eriksson's "readpipe.sh" example.5) In "Local Variables" section of "Functions" chapter: Modified note in example script in footnote 2. (Thanks, Zhao You Bing.)6) Fixed up references to my own "yawl" package, to reflect the latest update.7) In "Writing Scripts" section of "Exercises" appendix: In "Difficult" section, added "Testing Passwords" exercise .8) In "Subshells" chapter: In in-line script example that tests whether variable is set, noted that this also tests whether that variable is present in the environment (exported). (Thank you, Mr. Fred.)9) In "Comparison Operators" section of "Tests" chapter: Corrected typos in "str-test.sh" example. (Thank you, Bill Gradwohl.)10) In "Internal Commands" chapter: Fixed a typo in "ex46.sh" example. (Thank you, Bill Gradwohl.) Fixed a typo in "ex33.sh" example, and implemented changes to explain what OPTIND does. (Thank you, Bill Gradwohl.)11) In "Information and Statistics" subsection of "System and Administrative Commands" chapter: Substituted better example of 'sar' output. (Thank you, Sebastien Godard.)12) In "Local Variables " section of "Functions" chapter: Fixed up "ex62.sh" example. (Thank you, Bill Gradwohl.)13) In "Basic Commands" section of "External Commands" Chapter: Added to discussion of 'ln.' Fixed typo in in-line example listing at 'cat,tac.' (Thank you, Bill Gradwohl.)14) In "Miscellaneous Commands" section of "External Commands" Chapter: Corrected "ex33a.sh" example. Noted that 'getopt' permits long options. (Thank you, Eric Levy.)15) In "RANDOM" section of "Variables Revisited" chapter: Noted exception in "Jipe" method of generating random numbers within a given range. Added improved formula for generating randoms within a range. (Thank you, Bill Gradwohl.) Added "random-between.sh" example for generating randoms within a range. (Thank you, Bill Gradwohl.)16) In "Arrays" chapter: Changed in-line example of miscellaneous array operations to an external shell script and enhanced it, per suggestions by Michael Zick. Added "array-strops.sh" example of using string manipulation operations on arrays. Added "array-assign.bash" script. Added "array-append.bash" script. (Thank you, Michael Zick.)17) In "Special Characters" chapter: At "Control Characters," section, added Ctl-B, Ctl-I, Ctl-S, and Ctl-K listings. Fixed listing for Ctl-M (Thanks, Lee Maschmeyer.) Also added Lee Maschmeyer's in-line example.18) In "Gotchas" chapter: At "Piping echo output . . . " inserted missing space.19) In "Exit and Exit Status" chapter: Added material to discussion of "bare" exit.20) Added "Where to Go For Help" section to "Endnotes" chapter.21) In the "Sed and Awk Micro-primer" appendix: Added "nyal's" "letter-count.sh" script.22) In "Contributed Scripts" appendix: Added Michael Zick's "protect_literal.sh" script. Added Michael Zick's "unprotect_literal.sh" script. Added Michael Zick's "basics-reviewed.bash" script.23) In "Bibliography" section: Added 'Bash Navigator' listing. Added 'GNU Bash Reference Manual' listing (thanks, Brian Gough).24) Miscellaneous cleanups on example scripts.Version 2.1'HUCKLEBERRY' release, 09/14/031) In Appendix B, "Reference Cards: Fixups -- (thanks to errors brought to my attention by Heiner Steven).2) In Appendix B, "Reference Cards: Added "Miscellaneous Construct" table. Added variable prefix matching to "Parameter Substitution" table.3) In "Internal Variables" section of "Variables Revisited" chapter: Noted that "$*" must be quoted to differentiate it from "$@" variable, and added a case to "arglist.sh" example to demonstrate this. (Thanks, Heiner Steven.)4) In "Command Substitution" chapter: Added note about the invocation of a subshell. Likewise added note in "setting variable to a file" in-line example. (Thanks, Paul Heffner.) Removed erroneous comment from in-line example of setting a variable to contents of a file. (Thanks, Anthony Richardson.)5) In "Arrays" chapter: Added "script-array.sh" example. (Thanks, Chris Martin, for the inspiration.)6) In "System Resources" subsection of "System and Administrative Commands": Fixed minor error ("while 1") in 'ulimit' illustrative script. (Thanks Emmanuel Chantreau)7) In "Subshells" chapter: Added a paragraph of commentary concerning external commands and Bash builtins.8) In "Special Characters" chapter: Elaborated example of ';' usage.9) In "Gotchas" chapter: Added in-line example of problem caused by piping to a loop. (Thanks Anthony Richardson.)10) In "System and Administrative Commands" chapter: Added more info to "sar" listing.11) In "Writing Scripts" section of "Exercises" appendix: Added "Monitoring Processes" exercise.12) In "Recursion" section of "Miscellany" chapter: Added Anthony Richardson's "usrmnt.sh" example. (Thanks!)13) Slight modifications to certain example files for clarification.Version 2.0'GOOSEBERRY' release, 08/24/03Comments:In view of the cumulative changes in the last several updates, it'sbumped up to a major version. This is now officially a "mature" project.1) In "Manipulating Strings" section of "Variables Revisited" chapter: Added negative index substring extraction example (Thanks, Dan Jacobson).2) In "Sed appendix": Changed title of second table, to make it less ambiguous.3) Changed "Sunsite" address in two examples.4) Made capitalization of example scripts more consistent.5) In "Command Substitution" chapter: Fixed typo in backquotes discussion (Thanks, Jiri Beran).6) In "Process Substitution" chapter: Added clarifying comment to SuSE script fragment (Thanks Ulrich Gayer).7) In "Invoking the script" section of "Starting Off With a Sha-Bang" chapter: Corrected typo in discussion (" . . . not recommended is using sh <scriptname . . . ") (Thanks, Norman Megill.)8) In "Quoting" chapter: Corrected typo in final example ("foor" --> "foo"). (Thanks, Norman Megill.) Noted that 'echo "\" invokes secondary prompt.9) In "Here Document" chapter: Shuffled the order of a couple of examples. Added warning about closing 'limit string' starting in first character position on its line, with in-line example. (Also added a mention in "Gotchas" chapter. Added "script-generate.sh" example of generating program code by disabling parameter substitution within the body of a 'here document.' (Thanks, Albert Reiner, for the idea.)10) In "Miscellaneous" subsection of "System and Administrative Commands": chapter: Added listing for "dialog" toolsets.11) In "Assorted Tips" section of "Miscellany" chapter: Added discussion of "dialog" toolsets, with "dialog.sh" example.12) In "Copyright" chapter: Updated notices.13) Added "Reference Cards" appendix. Thank you, Aurelio Marinho Jargas, for giving me the inspiration.14) In "Bibliography" section: Added LINUX JOURNAL article, "Scripting for X Productivity" listing. Added Jargas' entry for "Regular Expression wizard."15) In "Loop Control" section of "Loops and Branches" chapter: Embellished "symlinks.sh" example with Jean Helou's alternative method.16) Typo fixes supplied by Edward Scholtz (thanks!): "Special Variable Types" section of "Introduction to Variables" chapter "fairly simply way" --> "fairly simple way" "Quoting" chapter "advisable in enclose it" --> "advisable to enclose it"17) In "Copyright" chapter: Added note about contributors rights. Added mention of Russian translation being underway.18) Corrected several minor typos in the text and script examples.Version 1.9 [Cleanups & revisions]'PERSIMMON' release, 06/21/031) In "Portabilities Issues" section of "Miscellany" chapter: Added URL for article about Caldera's release of UNIX source. [Yes, indeed, before Caldera reinvented itself as SCO, it had begun to Open Source the code to UNIX.]2) In "Copyright" chapter: Added trademark notices.3) In "Arrays" chapter: Added another initialization option to in-line example. Fixed error in comment in "q-function.sh" example. Added "embedded-arrays.sh" example of using indirect references with embedded arrays. (Thank you, Dennis Leeuw.)4) In "Regular Expressions" chapter: Added mention of "anchors."5) In "Assorted Tips" section of "Miscellany" chapter: Added in-line example of using "if-test" constructs to comment out code blocks.6) In "cannon.sh" example: Added comment about firing cannon balls only at the upper right-hand corner. (Thanks, Emilio Conti, for making me think about this.)7) In "String Manipulation" section "Variables Revisited" chapter: Fixed two errors in comments of in-line substring replacement example. (Thanks, Emilio Conti.)8) In "ex21.sh" example: Eliminated unnecessary variable. (Thanks, Emilio Conti.)9) In "wstrings.sh" example: Eliminated unnecessary variable. (Thanks, Emilio Conti.)10) In "Comparison Operations" section of "Tests" chapter: Fixed if ["$a" -gt "$b" ] Missing space! (Thanks, Thomas Treutner.)11) In "Communications Commands" section of "External Commands" chapter: Moved "cu" to after "uucp," since it's part of the latter's command set.12) In "Contributed Scripts" appendix: Corrected error in comment in "makedict.sh" script.13) In "Copyright" appendix: Updates.14) Various minor script updates. Version 1.8 [Cleanups & revisions]'BREADFRUIT' release, 05/10/031) Revised "self-document.sh" to remove unnecessary 'cat.'2) In "cvt.sh" example, quoted target file name and added exercise.3) Updated Jordi Sanfeliu's e-mail address in "Credits" chapter and in "tree.sh" example script.4) In "blot-out.sh" script, updated the Peter Gutmann URL. 5) In "Miscellaneous" subsection of "System and Administrative Commands" chapter: Added "watch" command.6) In the introduction, in reason not to use shell scripts, Removed misleading reference to Open Source (thank you, Peter Lietz, for pointing this out).7) In "Quoting" chapter: Added footnote about problem double quoting "!" and "\!". (Thanks, Wayne Pollock.)8) In "Internal Commands" chapter: Added caution about 'cd //' problem. (Thanks, Wayne Pollock.) Added short example of "$!" usage. (Thanks, Jacques Lederer.)9)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -