Pure Bash Bible
Pure Bash Bible
A collection of pure bash alternatives to external processes.
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
Table of Contents
- 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
- Reverse an array
- Remove duplicate array elements
- Random array element
- Cycle through an array
- Toggle between two values
- 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
- 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
- Get the directory name of a file path
- Get the base-name of a file path
- Assign and access a variable using a variable
- Text Colors
- Text Attributes
- Cursor Movement
- Erasing Text
- Case Modification
- Default Value
- String Lists
- Simpler syntax to set variables
- Ternary Tests
- 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
- Disable Unicode
- Command Substitution
- Function Declaration
Get the location to the
Get the version of the current running
- 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
- Get the location to the
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
- Convert a hex color to RGB
- Convert an RGB color to hex
- Shorter infinite loops
- Shorter function declaration
casestatement to set variable
readas an alternative to the
- Check if a program is in the user’s PATH
Get the current date using
- Generate a UUID V4
- Progress bars
- Get the list of functions in a script
- Bypass shell aliases
- Bypass shell functions
The Leanpub 60-day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
80% Royalties. Earn $16 on a $20 book.
We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $12 million USDwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them