Home > Store > Open Source

Linux Shell Scripting with Bash

Linux Shell Scripting with Bash

eBook (Adobe DRM)

  • Your Price: $31.99
  • List Price: $39.99
  • About Adobe DRM eBooks
  • This eBook requires the free Adobe® Digital Editions software.

    Before downloading this DRM-encrypted PDF, be sure to:

    • Install the free Adobe Digital Editions software on your machine. Adobe Digital Editions only works on Macintosh and Windows, and requires the Adobe Flash Player. Please see the official system requirements.
    • Authorize your copy of Adobe Digital Editions using your Adobe ID (select AdobeID as the eBook vendor). If you don't already have an Adobe ID, you can create one here.

Also available in other formats.

Register your product to gain access to bonus material or receive a coupon.


  • Copyright 2004
  • Pages: 432
  • Edition: 1st
  • eBook (Adobe DRM)
  • ISBN-10: 0-7686-6349-0
  • ISBN-13: 978-0-7686-6349-5

According to IDC, over 170,000 new servers were shipped in the first quarter of 2003. That also means that there were potentially more than 170,000 people like you charged with administering these systems without the proper knowledge or training to do so. Linux Shell Scripting with Bash will help you learn to not only get your system up and running quickly by employing the Bash shell, but it will also show you professional scripting solutions through the use of structured programming and standard Linux development tools. The book focuses on the Linux environment, which the shell relies on to function, and the robust Linux tool set, making this book ideal for learning shell scripting. Real-world scripts are included that are readable, extendable and easy to debug. This book is an asset to any Linux user.

Sample Content

Table of Contents

1. The Linux Environment.

The Origin of Linux. Files and File Systems. Directories. Inodes and Links. Pipe and Socket Files. Device Files.

2. Operating the Shell.

Bash Keywords. Command Basics. Command-Line Editing. Variable Assignments and Displaying Messages. Multiple Commands. Command History. Directory Commands. Specialized Navigation and History. The Colon Command. Reference Section.

3. Files, Users, and Shell Customization.

Listing Files. printf Command. Getting Help. Fixing the Display. Working with Files. Working with People. Shell Aliases. The Bash Hash Table. Customizing Your Prompt. Long Command Lines. Customizing Command-Line Editing. Your Session Profile. Reference Section.

4. Script Basics.

Creating a Script. Creating a Well-Behaved Script. The Header. Global Declarations. Sanity Checks. The Main Script. Cleanup. Stopping a Script. Reading Keyboard Input. Basic Redirection. Standard Output, Error, and Input. Built-In Versus Linux Commands. The Set and Shopt Commands. Reference Section.

5. Variables.

Variable Basics. Predefined Variables. The Effect of Quotations. Variable Attributes. Arrays. Exporting Variables and the Linux Environment. The eval Command. story.bash: A Story Generator. Reference Section.

6. Expressions.

Expansions. The Basic if Command. File Expressions. Multiple Tests. Strings. Arithmetic Expressions. Logical Expressions. Relational Operations. Bitwise Operations. Self-Referential Operations. Other let Features. temperature.bash: Converting Fahrenheit to Celsius. Arithmetic Tests. Pattern Recognition. Globbing Options. Filename Brace Expansion ( {..} ). Dollar Sign Substitutions. Arithmetic Expression Substitution ( ((..)) ). mixer.bash: HTML Color Mixer. Reference Section.

7. Compound Commands.

Command Status Codes. if Command. case Command. while Loop. until Loop. for Loops. Embedded let ( ((..)) ). Grouping Commands ( {..} ). report.bash: Report Formatter.

8. Debugging and Version Control.

Shell Debugging Features. Debug Traps. Version Control (CVS). Creating Transcripts. Watching Running Scripts. Timing Execution with Time. Creating Man Pages. Source Code Patches. Shell Archives. Reference Section.

9. Parameters and Subshells.

Positional Parameters. The getopts Command. The getopt Command. Subshells. Reference Section.

10. Job Control and Signals.

Job Control. Signals. The suspend Command. Traps. Exit Handlers. The killall Command. Being Nice. Process Status. Reference Section.

11. Text File Basics.

Working with Pathnames. File Truncation. Identifying Files. Creating and Deleting Files. Moving and Copying Files. More Information about Files. Transferring Files between Accounts (wget). Transferring Files with FTP. Transferring Files with Secure FTP (sftp). Verifying Files. Splitting Large Files. Tabs and Spaces. Temporary Files. Lock Files. Named Pipes. Process Substitution. Opening Files. Using head and tail. File Statistics. Cutting. Pasting. Columns. Folding. Joining. Merging. Reference Section.

12. Text File Processing.

Finding Lines. Locating Files. Finding Files. Sorting. Character Editing (tr). File Editing (sed). Compressing Files. Reference Section.

13. Console Scripting.

The Linux Console. The Console Keyboard. The Console Display. tput. select Menus. Custom Menus. Reference Section.

14. Functions and Script Execution.

Running Scripts. The Linux Execution Environment. The Source Command (.). Switching Scripts with exec. Writing Recurring Scripts. Writing Continually Executing Scripts. Shell Functions. Local Variables. Recursion and Nested Functions. Function Attributes. Reference Section.

15. Shell Security.

The Basic Linux Security Model. Knowing Who You Are (id). Transferring Ownership (chown/chgrp). Changing Access Rights (chmod). Default Access Rights (umask). setuid/setgid and Scripts. The chroot Command. Resource Limits (ulimit). Restricted Shells. Secure File Deletion (wipe). Reference Section.

16. Network Programming.

Sockets. Client-Server and Peer-to-Peer. Network Clients. CGI Scripting. CGI Environment Variables. Processing Forms. Basic Web Page Stripping (lynx). Reference Section.

17. Data Structures and Databases.

Associative Arrays Using Bash Arrays. Hash Tables Using Bash Arrays. Binary Trees Using Bash Arrays. Working with PostgreSQL Databases (psql). Working with MySQL Databases. Reference Section.

18. Final Topics.

The echo Command. More Uses for set. Date Conversions. Completions. Locales. The du Command. Memory Usage. noclobber and Forced Overwriting. The fc Command. ! Word Designators and Modifiers. Running Scripts from C. Journey's End. Reference Section.

Appendix A. A Complete Example.

Appendix B. Summary of Bash Built-In Commands.

Appendix C. Bash Options.

Appendix D. Error Codes.

Appendix E. Signals.

Appendix F. ASCII Table.




Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership