a288e09c9e2fabe7a0e1defdcef699cf6a4719c2
compute/bash-gotchas.md
| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | +# Bash Gotchas |
|
| 2 | +This kind of shit is why sysadmins drink. |
|
| 3 | + |
|
| 4 | +### (( )) can return false |
|
| 5 | +(Iff)[https://en.wikipedia.org/wiki/If_and_only_if] the expression in (( )) evaluates to 0, the (( )) returns false, so your 'set -e' script will fall on its arse. |
|
| 6 | + |
|
| 7 | +### pipes into read can return false |
|
| 8 | +In some old versions of bash (e.g. RHEL6), piping commands into `while read -r blah` will fail at the end of the stream. |
|
| 9 | +Use `while read -r blah; do something; done < <(command>)` instead. |