没有合适的资源?快使用搜索试试~ 我知道了~
首页深入学习高级Bash脚本编程(最新英文版)
《高级Bash脚本编程指南》(Advanced Bash Scripting Guide, ABS Guide 6.0 英文版)是一本深入探索Shell脚本编程艺术的专业书籍。作者Mendel Cooper精心编撰了这本手册,旨在帮助读者掌握Bash shell的强大功能和高级技巧。
该书分为三个部分:第一部分介绍,从基础开始引导读者进入Shell编程的世界。第一章"Shell Programming!"探讨了Shell编程的基本概念,包括如何编写和执行脚本,以及相应的注意事项。第二章"Starting Off With a Sha-Bang"介绍了如何启动脚本、命令行参数的处理,并提供了初步的练习题,帮助新手快速上手。
第二部分是基础知识篇,涵盖了特殊字符的使用(Chapter 3)、变量和参数的管理(Chapter 4)。在这一章中,作者详细解释了变量的替换、赋值过程,强调了Bash变量的类型特性,包括普通变量和特殊类型。第五章"Quoting"则讨论了变量的引用方式和转义字符,确保脚本对特殊字符的正确处理。
第三部分超越基础,涉及更为复杂的主题。第七章"Tests"聚焦于条件测试,包括测试构造、文件测试操作符、比较运算符等,以及如何嵌套使用if-then结构进行逻辑判断。这部分内容对理解脚本的控制流程至关重要。第八章"Operations and Related Topics"进一步扩展到运算符的使用、数值常量的处理,以及与这些主题相关的其他话题。
《Advanced Bash Scripting Guide 6.0 (english) pdf》提供了一个全面的学习框架,无论是对初学者还是经验丰富的Shell程序员来说,都是提升技能和深化理解的宝贵资源。通过这本书,读者将掌握高级Bash编程的精髓,能够创作出高效、健壮的脚本,应对各种复杂的系统管理任务。
List of Examples
2-1. cleanup: A script to clean up the log files in /var/log
2-2. cleanup: An improved clean-up script
2-3. cleanup: An enhanced and generalized version of above scripts.
3-1. Code blocks and I/O redirection
3-2. Saving the output of a code block to a file
3-3. Running a loop in the background
3-4. Backup of all files changed in last day
4-1. Variable assignment and substitution
4-2. Plain Variable Assignment
4-3. Variable Assignment, plain and fancy
4-4. Integer or string?
4-5. Positional Parameters
4-6. wh, whois domain name lookup
4-7. Using shift
5-1. Echoing Weird Variables
5-2. Escaped Characters
6-1. exit / exit status
6-2. Negating a condition using !
7-1. What is truth?
7-2. Equivalence of test, /usr/bin/test, [ ], and /usr/bin/[
7-3. Arithmetic Tests using (( ))
7-4. Testing for broken links
7-5. Arithmetic and string comparisons
7-6. Testing whether a string is null
7-7. zmore
8-1. Greatest common divisor
8-2. Using Arithmetic Operations
8-3. Compound Condition Tests Using && and ||
8-4. Representation of numerical constants
9-1. $IFS and whitespace
9-2. Timed Input
9-3. Once more, timed input
9-4. Timed read
9-5. Am I root?
9-6. arglist: Listing arguments with $* and $@
9-7. Inconsistent $* and $@ behavior
9-8. $* and $@ when $IFS is empty
9-9. Underscore variable
9-10. Inserting a blank line between paragraphs in a text file
9-11. Generating an 8-character "random" string
9-12. Converting graphic file formats, with filename change
9-13. Converting streaming audio files to ogg
9-14. Emulating getopt
9-15. Alternate ways of extracting and locating substrings
9-16. Using parameter substitution and error messages
9-17. Parameter substitution and "usage" messages
9-18. Length of a variable
9-19. Pattern matching in parameter substitution
9-20. Renaming file extensions:
9-21. Using pattern matching to parse arbitrary strings
9-22. Matching patterns at prefix or suffix of string
9-23. Using declare to type variables
9-24. Indirect Variable References
9-25. Passing an indirect reference to awk
9-26. Generating random numbers
9-27. Picking a random card from a deck
9-28. Brownian Motion Simulation
9-29. Random between values
9-30. Rolling a single die with RANDOM
9-31. Reseeding RANDOM
9-32. Pseudorandom numbers, using awk
9-33. C-style manipulation of variables
10-1. Simple for loops
10-2. for loop with two parameters in each [list] element
10-3. Fileinfo: operating on a file list contained in a variable
10-4. Operating on files with a for loop
10-5. Missing in [list] in a for loop
10-6. Generating the [list] in a for loop with command substitution
10-7. A grep replacement for binary files
10-8. Listing all users on the system
10-9. Checking all the binaries in a directory for authorship
10-10. Listing the symbolic links in a directory
10-11. Symbolic links in a directory, saved to a file
10-12. A C-style for loop
10-13. Using efax in batch mode
10-14. Simple while loop
10-15. Another while loop
10-16. while loop with multiple conditions
10-17. C-style syntax in a while loop
10-18. until loop
10-19. Nested Loop
10-20. Effects of break and continue in a loop
10-21. Breaking out of multiple loop levels
10-22. Continuing at a higher loop level
10-23. Using continue N in an actual task
10-24. Using case
10-25. Creating menus using case
10-26. Using command substitution to generate the case variable
10-27. Simple string matching
10-28. Checking for alphabetic input
10-29. Creating menus using select
10-30. Creating menus using select in a function
11-1. Stupid script tricks
11-2. Generating a variable from a loop
11-3. Finding anagrams
14-1. A script that forks off multiple instances of itself
14-2. printf in action
14-3. Variable assignment, using read
14-4. What happens when read has no variable
14-5. Multi-line input to read
14-6. Detecting the arrow keys
14-7. Using read with file redirection
14-8. Problems reading from a pipe
14-9. Changing the current working directory
14-10. Letting let do arithmetic.
14-11. Showing the effect of eval
14-12. Using eval to select among variables
14-13. Echoing the command-line parameters
14-14. Forcing a log-off
14-15. A version of rot13
14-16. Using eval to force variable substitution in a Perl script
14-17. Using set with positional parameters
14-18. Reversing the positional parameters
14-19. Reassigning the positional parameters
14-20. "Unsetting" a variable
14-21. Using export to pass a variable to an embedded awk script
14-22. Using getopts to read the options/arguments passed to a script
14-23. "Including" a data file
14-24. A (useless) script that sources itself
14-25. Effects of exec
14-26. A script that exec's itself
14-27. Waiting for a process to finish before proceeding
14-28. A script that kills itself
15-1. Using ls to create a table of contents for burning a CDR disk
15-2. Hello or Good-bye
15-3. Badname, eliminate file names in current directory containing bad characters and whitespace.
15-4. Deleting a file by its inode number
15-5. Logfile: Using xargs to monitor system log
15-6. Copying files in current directory to another
15-7. Killing processes by name
15-8. Word frequency analysis using xargs
15-9. Using expr
15-10. Using date
15-11. Date calculations
15-12. Word Frequency Analysis
15-13. Which files are scripts?
15-14. Generating 10-digit random numbers
15-15. Using tail to monitor the system log
15-16. Printing out the From lines in stored e-mail messages
15-17. Emulating grep in a script
15-18. Crossword puzzle solver
15-19. Looking up definitions in Webster's 1913 Dictionary
15-20. Checking words in a list for validity
15-21. toupper: Transforms a file to all uppercase.
15-22. lowercase: Changes all filenames in working directory to lowercase.
15-23. du: DOS to UNIX text file conversion.
15-24. rot13: ultra-weak encryption.
15-25. Generating "Crypto-Quote" Puzzles
15-26. Formatted file listing.
15-27. Using column to format a directory listing
15-28. nl: A self-numbering script.
15-29. manview: Viewing formatted manpages
15-30. Using cpio to move a directory tree
15-31. Unpacking an rpm archive
15-32. Stripping comments from C program files
15-33. Exploring /usr/X11R6/bin
15-34. An "improved" strings command
15-35. Using cmp to compare two files within a script.
15-36. basename and dirname
15-37. A script that copies itself in sections
15-38. Checking file integrity
15-39. Uudecoding encoded files
15-40. Finding out where to report a spammer
15-41. Analyzing a spam domain
15-42. Getting a stock quote
15-43. Updating FC4
15-44. Using ssh
15-45. A script that mails itself
15-46. Generating prime numbers
15-47. Monthly Payment on a Mortgage
15-48. Base Conversion
15-49. Invoking bc using a here document
15-50. Calculating PI
15-51. Converting a decimal number to hexadecimal
15-52. Factoring
15-53. Calculating the hypotenuse of a triangle
15-54. Using seq to generate loop arguments
15-55. Letter Count"
15-56. Using getopt to parse command-line options
15-57. A script that copies itself
15-58. Exercising dd
15-59. Capturing Keystrokes
15-60. Securely deleting a file
15-61. Filename generator
15-62. Converting meters to miles
15-63. Using m4
16-1. Setting a new password
16-2. Setting an erase character
16-3. secret password: Turning off terminal echoing
16-4. Keypress detection
16-5. Checking a remote server for identd
16-6. pidof helps kill a process
16-7. Checking a CD image
16-8. Creating a filesystem in a file
16-9. Adding a new hard drive
16-10. Using umask to hide an output file from prying eyes
16-11. killall, from /etc/rc.d/init.d
18-1. broadcast: Sends message to everyone logged in
18-2. dummyfile: Creates a 2-line dummy file
18-3. Multi-line message using cat
18-4. Multi-line message, with tabs suppressed
18-5. Here document with replaceable parameters
18-6. Upload a file pair to Sunsite incoming directory
18-7. Parameter substitution turned off
18-8. A script that generates another script
18-9. Here documents and functions
18-10. "Anonymous" Here Document
18-11. Commenting out a block of code
18-12. A self-documenting script
18-13. Prepending a line to a file
18-14. Parsing a mailbox
19-1. Redirecting stdin using exec
19-2. Redirecting stdout using exec
19-3. Redirecting both stdin and stdout in the same script with exec
19-4. Avoiding a subshell
19-5. Redirected while loop
19-6. Alternate form of redirected while loop
19-7. Redirected until loop
19-8. Redirected for loop
19-9. Redirected for loop (both stdin and stdout redirected)
19-10. Redirected if/then test
19-11. Data file names.data for above examples
19-12. Logging events
20-1. Variable scope in a subshell
20-2. List User Profiles
20-3. Running parallel processes in subshells
21-1. Running a script in restricted mode
22-1. Code block redirection without forking
23-1. Simple functions
23-2. Function Taking Parameters
23-3. Functions and command-line args passed to the script
23-4. Passing an indirect reference to a function
23-5. Dereferencing a parameter passed to a function
23-6. Again, dereferencing a parameter passed to a function
23-7. Maximum of two numbers
23-8. Converting numbers to Roman numerals
23-9. Testing large return values in a function
23-10. Comparing two large integers
23-11. Real name from username
23-12. Local variable visibility
23-13. Demonstration of a simple recursive function
23-14. Another simple demonstration
23-15. Recursion, using a local variable
23-16. The Fibonacci Sequence
23-17. The Towers of Hanoi
24-1. Aliases within a script
24-2. unalias: Setting and unsetting an alias
25-1. Using an and list to test for command-line arguments
25-2. Another command-line arg test using an and list
25-3. Using or lists in combination with an and list
26-1. Simple array usage
26-2. Formatting a poem
26-3. Various array operations
26-4. String operations on arrays
26-5. Loading the contents of a script into an array
26-6. Some special properties of arrays
26-7. Of empty arrays and empty elements
26-8. Initializing arrays
26-9. Copying and concatenating arrays
26-10. More on concatenating arrays
26-11. The Bubble Sort
26-12. Embedded arrays and indirect references
26-13. The Sieve of Eratosthenes
26-14. The Sieve of Eratosthenes, Optimized
26-15. Emulating a push-down stack
26-16. Complex array application: Exploring a weird mathematical series
26-17. Simulating a two-dimensional array, then tilting it
27-1. Using /dev/tcp for troubleshooting
27-2. Playing music
剩余961页未读,继续阅读
zhoub150
- 粉丝: 4
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 九种防MDB数据库被下载的方法
- ospf第二版本20083日修证
- Java详细教程最好的教程
- (精)C案例分析-开发综合程序.pdf
- 一步一步学EJB 3.doc
- prototype.js开发笔记.doc
- jQuery中文入门指南.doc
- 用dsPIC30F3010实现无刷直流电机的无传感器控制
- 可综合设计和verilog简介
- 基于Spring+Hibernate+Eclipse进行敏捷Java开发.doc
- 易学、C++程序设计初学者辅导书--易学C++
- DB2 Command References
- JBOSS Rule Drools官方使用手册
- 视听说2上机时的答案
- 数据流图画法 Data Flow Diagram
- DRDA Version 4 Volume 3(英文)
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功