Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision |
bash [2020/08/12 17:19] – [Variables] formatting shawn | bash [2020/08/12 19:07] (current) – [Functions] Adds tips shawn |
---|
| |
| ''#!/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 ====== |
* ''-e'': causes the script to exit on most command failures (non-zero exit codes) | * ''-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 | * ''-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 | * ''-o pipefail'': causes the script to exit if a command in a pipeline fails |
* use a + to unset them if necessary | * use a + to unset them if necessary |
| |
* ''$IFS'' - Internal/input field separator (defaults to combo of space, newline and tab) | * ''$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 ====== |
| |
| * [[https://stackoverflow.com/a/16496491|Use getopts to parse commandline options]]. |