没有合适的资源?快使用搜索试试~ 我知道了~
首页Bash 初学者指南(Bash Guide for Beginners)
资源详情
资源评论
资源推荐
Table of Contents
Introduction.........................................................................................................................................................1
1. Why this guide?...................................................................................................................................1
2. Who should read this book?.................................................................................................................1
3. New versions, translations and availability.........................................................................................2
4. Revision History..................................................................................................................................2
5. Contributions.......................................................................................................................................3
6. Feedback..............................................................................................................................................3
7. Copyright information.........................................................................................................................3
8. What do you need?...............................................................................................................................4
9. Conventions used in this document.....................................................................................................4
10. Organization of this document...........................................................................................................5
Chapter 1. Bash and Bash scripts......................................................................................................................6
1.1. Common shell programs...................................................................................................................6
1.1.1. General shell functions............................................................................................................6
1.1.2. Shell types...............................................................................................................................6
1.2. Advantages of the Bourne Again SHell............................................................................................7
1.2.1. Bash is the GNU shell.............................................................................................................7
1.2.2. Features only found in bash.....................................................................................................7
1.3. Executing commands......................................................................................................................12
1.3.1. General..................................................................................................................................12
1.3.2. Shell built-in commands........................................................................................................12
1.3.3. Executing programs from a script.........................................................................................13
1.4. Building blocks...............................................................................................................................13
1.4.1. Shell building blocks.............................................................................................................13
1.5. Developing good scripts.................................................................................................................15
1.5.1. Properties of good scripts......................................................................................................16
1.5.2. Structure................................................................................................................................16
1.5.3. Terminology..........................................................................................................................16
1.5.4. A word on order and logic.....................................................................................................16
1.5.5. An example Bash script: mysystem.sh..................................................................................17
1.5.6. Example init script.................................................................................................................18
1.6. Summary.........................................................................................................................................19
1.7. Exercises.........................................................................................................................................19
Chapter 2. Writing and debugging scripts.....................................................................................................21
2.1. Creating and running a script..........................................................................................................21
2.1.1. Writing and naming...............................................................................................................21
2.1.2. script1.sh................................................................................................................................22
2.1.3. Executing the script...............................................................................................................23
2.2. Script basics....................................................................................................................................24
2.2.1. Which shell will run the script?.............................................................................................24
2.2.2. Adding comments..................................................................................................................24
2.3. Debugging Bash scripts..................................................................................................................25
2.3.1. Debugging on the entire script..............................................................................................25
2.3.2. Debugging on part(s) of the script.........................................................................................26
2.4. Summary.........................................................................................................................................28
2.5. Exercises.........................................................................................................................................28
Bash Guide for Beginners
i
Table of Contents
Chapter 3. The Bash environment..................................................................................................................29
3.1. Shell initialization files...................................................................................................................29
3.1.1. System-wide configuration files............................................................................................29
3.1.2. Individual user configuration files........................................................................................31
3.1.3. Changing shell configuration files........................................................................................33
3.2. Variables.........................................................................................................................................34
3.2.1. Types of variables.................................................................................................................34
3.2.2. Creating variables..................................................................................................................37
3.2.3. Exporting variables................................................................................................................38
3.2.4. Reserved variables.................................................................................................................39
3.2.5. Special parameters.................................................................................................................41
3.2.6. Script recycling with variables..............................................................................................43
3.3. Quoting characters..........................................................................................................................44
3.3.1. Why?.....................................................................................................................................45
3.3.2. Escape characters..................................................................................................................45
3.3.3. Single quotes.........................................................................................................................45
3.3.4. Double quotes........................................................................................................................45
3.3.5. ANSI-C quoting....................................................................................................................46
3.3.6. Locales...................................................................................................................................46
3.4. Shell expansion...............................................................................................................................46
3.4.1. General..................................................................................................................................46
3.4.2. Brace expansion....................................................................................................................46
3.4.3. Tilde expansion.....................................................................................................................47
3.4.4. Shell parameter and variable expansion................................................................................47
3.4.5. Command substitution...........................................................................................................48
3.4.6. Arithmetic expansion............................................................................................................49
3.4.7. Process substitution...............................................................................................................50
3.4.8. Word splitting........................................................................................................................50
3.4.9. File name expansion..............................................................................................................51
3.5. Aliases.............................................................................................................................................51
3.5.1. What are aliases?...................................................................................................................51
3.5.2. Creating and removing aliases..............................................................................................52
3.6. More Bash options..........................................................................................................................53
3.6.1. Displaying options.................................................................................................................53
3.6.2. Changing options...................................................................................................................54
3.7. Summary.........................................................................................................................................55
3.8. Exercises.........................................................................................................................................55
Chapter 4. Regular expressions.......................................................................................................................56
4.1. Regular expressions........................................................................................................................56
4.1.1. What are regular expressions?...............................................................................................56
4.1.2. Regular expression metacharacters.......................................................................................56
4.1.3. Basic versus extended regular expressions...........................................................................57
4.2. Examples using grep.......................................................................................................................57
4.2.1. What is grep?.........................................................................................................................57
4.2.2. Grep and regular expressions................................................................................................58
4.3. Pattern matching using Bash features.............................................................................................60
4.3.1. Character ranges....................................................................................................................60
Bash Guide for Beginners
ii
Table of Contents
Chapter 4. Regular expressions
4.3.2. Character classes...................................................................................................................60
4.4. Summary.........................................................................................................................................61
4.5. Exercises.........................................................................................................................................61
Chapter 5. The GNU sed stream editor..........................................................................................................62
5.1. Introduction.....................................................................................................................................62
5.1.1. What is sed?...........................................................................................................................62
5.1.2. sed commands.......................................................................................................................62
5.2. Interactive editing...........................................................................................................................63
5.2.1. Printing lines containing a pattern.........................................................................................63
5.2.2. Deleting lines of input containing a pattern..........................................................................64
5.2.3. Ranges of lines......................................................................................................................64
5.2.4. Find and replace with sed......................................................................................................65
5.3. Non-interactive editing...................................................................................................................66
5.3.1. Reading sed commands from a file.......................................................................................66
5.3.2. Writing output files...............................................................................................................66
5.4. Summary.........................................................................................................................................67
5.5. Exercises.........................................................................................................................................68
Chapter 6. The GNU awk programming language........................................................................................69
6.1. Getting started with gawk...............................................................................................................69
6.1.1. What is gawk?.......................................................................................................................69
6.1.2. Gawk commands...................................................................................................................69
6.2. The print program...........................................................................................................................70
6.2.1. Printing selected fields..........................................................................................................70
6.2.2. Formatting fields...................................................................................................................71
6.2.3. The print command and regular expressions.........................................................................72
6.2.4. Special patterns......................................................................................................................72
6.2.5. Gawk scripts..........................................................................................................................73
6.3. Gawk variables................................................................................................................................73
6.3.1. The input field separator........................................................................................................73
6.3.2. The output separators............................................................................................................74
6.3.3. The number of records..........................................................................................................75
6.3.4. User defined variables...........................................................................................................76
6.3.5. More examples......................................................................................................................76
6.3.6. The printf program................................................................................................................77
6.4. Summary.........................................................................................................................................77
6.5. Exercises.........................................................................................................................................77
Chapter 7. Conditional statements..................................................................................................................79
7.1. Introduction to if.............................................................................................................................79
7.1.1. General..................................................................................................................................79
7.1.2. Simple applications of if........................................................................................................82
7.2. More advanced if usage..................................................................................................................84
7.2.1. if/then/else constructs............................................................................................................84
7.2.2. if/then/elif/else constructs......................................................................................................87
7.2.3. Nested if statements...............................................................................................................88
Bash Guide for Beginners
iii
Table of Contents
Chapter 7. Conditional statements
7.2.4. Boolean operations................................................................................................................88
7.2.5. Using the exit statement and if..............................................................................................89
7.3. Using case statements.....................................................................................................................90
7.3.1. Simplified conditions............................................................................................................90
7.3.2. Initscript example..................................................................................................................92
7.4. Summary.........................................................................................................................................92
7.5. Exercises.........................................................................................................................................93
Chapter 8. Writing interactive scripts............................................................................................................94
8.1. Displaying user messages...............................................................................................................94
8.1.1. Interactive or not?..................................................................................................................94
8.1.2. Using the echo built-in command.........................................................................................94
8.2. Catching user input.........................................................................................................................97
8.2.1. Using the read built-in command..........................................................................................97
8.2.2. Prompting for user input........................................................................................................98
8.2.3. Redirection and file descriptors.............................................................................................99
8.2.4. File input and output............................................................................................................101
8.3. Summary.......................................................................................................................................106
8.4. Exercises.......................................................................................................................................106
Chapter 9. Repetitive tasks............................................................................................................................108
9.1. The for loop...................................................................................................................................108
9.1.1. How does it work?...............................................................................................................108
9.1.2. Examples.............................................................................................................................108
9.2. The while loop..............................................................................................................................109
9.2.1. What is it?............................................................................................................................109
9.2.2. Examples.............................................................................................................................110
9.3. The until loop................................................................................................................................112
9.3.1. What is it?............................................................................................................................112
9.3.2. Example...............................................................................................................................112
9.4. I/O redirection and loops..............................................................................................................113
9.4.1. Input redirection..................................................................................................................113
9.4.2. Output redirection................................................................................................................113
9.5. Break and continue.......................................................................................................................114
9.5.1. The break built-in................................................................................................................114
9.5.2. The continue built-in...........................................................................................................115
9.5.3. Examples.............................................................................................................................116
9.6. Making menus with the select built-in..........................................................................................117
9.6.1. General................................................................................................................................117
9.6.2. Submenus............................................................................................................................118
9.7. The shift built-in...........................................................................................................................118
9.7.1. What does it do?..................................................................................................................118
9.7.2. Examples.............................................................................................................................119
9.8. Summary.......................................................................................................................................120
9.9. Exercises.......................................................................................................................................120
Bash Guide for Beginners
iv
剩余172页未读,继续阅读
li_zhongnan
- 粉丝: 72
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0