This is a collection of useful(ish) bash snippets. The snippets are all simple self-contained pieces of code (a class or subroutine), but non of them are large enough to require having a repository in their own right.
Name | Description |
---|---|
abs.sh | The Math. abs() function returns the absolute value of a number. That is, it returns x if x is positive or zero, and the negation of x if x is negative. |
array-contains.sh | Check to see if an array contains a specific value. |
array-to-string.sh | Convert an array to a string with a custom separator and a final optional value. |
center-text.sh | Center any given text on the screen (optional define the screen width). |
check-prerequisites.sh | Check prerequisite commands are installed. |
compare-versions.sh | Compare two version strings with optional custom delimiter. |
contains.sh | Check to see if one string contains another. |
countdown.sh | Display a simple countdown timer and message. |
error-messages.sh | Display error, warning and success messages. |
get-confirmation.sh | Get user confirmation for an action. |
get-git-root.sh | Get the root directory of a given git repo (and handle correctly when it isn't a git repo). |
get-script-info.sh | Get information about a script (full path and script name). |
get-terraform-version.sh | Get the current terraform version. |
get-version-string.sh | Extract a semver version from a string. |
is-git-repo.sh | Check if a given directory contains a git repo. |
rollingback.sh | Using signals to create rollback functions for cleaner scripting. |
stacktrace.sh | Provide a stack trace for from main to the point of of calling the stacktrace. |
strict-mode.sh | An example of a 'strict' mode setup for bash scripts. |
sudo-librarian-puppet.sh | Run librarian-puppet via sudo without changing default sudoers file (Debian 9 / Puppet 5). |
terminal-or-not.sh | A script to allow to determine if your script is attached to a terminal, pipe or redirection. |
untag.sh | A simple script to remove ALL tags from a git repo. |
using-colour.sh | An example of how to use colour (see bash-colour-include for a full working solution). |
using-set.sh | Using 'set' for more robust shell scripting. |
variable-replace.sh | Replace template variables in a file with values from an associative array. |
verbose-mode.sh | Demonstration of script wide verbose/silent mode. |