bash
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.
Tips
bash.txt · Last modified: by shawn
