Pure Bash Bible
Pure Bash Bible
$9.99
Minimum price
$14.99
Suggested price
Pure Bash Bible

This book is 50% complete

Last updated on 2018-06-21

About the Book

A collection of pure bash alternatives to external processes and programs. The bash scripting language is more powerful than people realise and most tasks can be accomplished without the need for or dependence on external programs.

Calling an external process in bash is expensive and excessive use will cause a noticeable slowdown. Scripts and programs written using built-in methods where applicable will be faster, require less dependencies and afford a better understanding of the language itself.

The content of this book provides a reference for solving problems encountered when writing programs and scripts in bash. All examples are in function format showcasing how to incorporate these solutions into code.

Pure Bash Bible is Open Source under the MIT license and is available freely here: https://github.com/dylanaraps/pure-bash-bible

About the Author

Dylan Araps
Dylan Araps

Dylan Araps is an Open Source Developer from Melbourne Australia. He developed a passion for Open Source and Free Software at a very young age producing a number of successful projects over the years. He left school at 14 to concentrate and expand his knowledge of Linux, programming and other related skills.

His projects have been widely used and continue to evolve and generate interest within the Unix and Linux community. His projects are available online at GitHub forever free and open to collaboration.

https://github.com/dylanaraps

Table of Contents

  • FOREWORD
  • STRINGS
    • Trim leading and trailing white-space from string
    • Trim all white-space from string and truncate spaces
    • Use regex on a string
    • Split a string on a delimiter
    • Change a string to lowercase
    • Change a string to uppercase
    • Trim quotes from a string
    • Strip all instances of pattern from string
    • Strip first occurrence of pattern from string
    • Strip pattern from start of string
    • Strip pattern from end of string
    • Check if string contains a sub-string
    • Check if string starts with sub-string
    • Check if string ends with sub-string
  • ARRAYS
    • Reverse an array
    • Remove duplicate array elements
    • Random array element
    • Cycle through an array
    • Toggle between two values
  • LOOPS
    • Loop over a range of numbers
    • Loop over a variable range of numbers
    • Loop over an array
    • Loop over an array with an index
    • Loop over the contents of a file
    • Loop over files and directories
  • FILE HANDLING
    • Read a file to a string
    • Read a file to an array (by line)
    • Get the first N lines of a file
    • Get the last N lines of a file
    • Get the number of lines in a file
    • Count files or directories in directory
    • Create an empty file
    • Extract lines between two markers
  • FILE PATHS
    • Get the directory name of a file path
    • Get the base-name of a file path
  • VARIABLES
    • Assign and access a variable using a variable
  • ESCAPE SEQUENCES
    • Text Colors
    • Text Attributes
    • Cursor Movement
    • Erasing Text
  • PARAMETER EXPANSION
    • Indirection
    • Replacement
    • Length
    • Expansion
    • Case Modification
    • Default Value
  • BRACE EXPANSION
    • Ranges
    • String Lists
  • ARITHMETIC OPERATORS
    • Assignment
    • Arithmetic
    • Bitwise
    • Logical
    • Miscellaneous
  • ARITHMETIC
    • Simpler syntax to set variables
    • Ternary Tests
  • TRAPS
    • Do something on script exit
    • Ignore terminal interrupt (CTRL+C, SIGINT)
    • React to window resize.
    • Do something before every command.
    • Do something when a shell function or a sourced file finishes executing
  • PERFORMANCE
    • Disable Unicode
  • OBSOLETE SYNTAX
    • Shebang
    • Command Substitution
    • Function Declaration
  • INTERNAL VARIABLES
    • Get the location to the bash binary
    • Get the version of the current running bash process
    • Open the user’s preferred text editor
    • Get the name of the current function
    • Get the host-name of the system
    • Get the architecture of the Operating System
    • Get the name of the Operating System / Kernel
    • Get the current working directory
    • Get the number of seconds the script has been running
    • Get a pseudorandom integer
  • INFORMATION ABOUT THE TERMINAL
    • Get the terminal size in lines and columns (from a script)
    • Get the terminal size in pixels
    • Get the current cursor position
  • CONVERSION
    • Convert a hex color to RGB
    • Convert an RGB color to hex
  • CODE GOLF
    • Shorter for loop syntax
    • Shorter infinite loops
    • Shorter function declaration
    • Shorter if syntax
    • Simpler case statement to set variable
  • OTHER
    • Use read as an alternative to the sleep command
    • Check if a program is in the user’s PATH
    • Get the current date using strftime
    • Generate a UUID V4
    • Progress bars
    • Get the list of functions in a script
    • Bypass shell aliases
    • Bypass shell functions

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors, publishers and universities use Leanpub to publish amazing in-progress and completed books and courses, just like this one. You can use Leanpub to write, publish and sell your book or course as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub