Bash-Beginners-Guide - Bash Guide for Beginners Machtelt...

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon
Bash Guide for Beginners Machtelt Garrels Garrels BVBA <tille wants no spam _at_ garrels dot be> Version 1.11 Last updated 20081227 Edition
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
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
Background image of page 2
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
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
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.
Background image of page 4
Image of page 5
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 173

Bash-Beginners-Guide - Bash Guide for Beginners Machtelt...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online