bash
                This is an old revision of the document!
Table of Contents
#!/usr/bin/env bash - Use bash found in the environment path. Protects against not knowing where user's bash is installed.
set options
set options -xeuo
Commonly used options:
- -x: turns on debug output, logging each command as it is executed
- -e: causes the script to exit on most command failures (non-zero exit codes)
- -u: treats unset variables and parameters other than the special parameters @ or * as an error when performing parameter expansion
- -o pipefail: causes the script to exit if a command in a pipeline fails
- use a + to unset them if necessary
Many more options available: https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html
Variables
- $@- All of the arguments as individual strings
- “$*”- All of the arguments as a single string
- $#- The number of arguments
- $1..n- Where n is an integer, the nth argument in the list
- $0- The command name
- $?- The last exit code
- $IFS- Internal/input field separator (defaults to combo of space, newline and tab)
Functions
Declaring a function (needs to happen before use):
function <function_name> { … do things … }
- or -
<function_name>() { … do things … }
- Nothing ever goes inside parentheses.
- Passed parameters can be accessed with$1..$n.
bash.1597253553.txt.gz · Last modified:  by shawn
                
                