The main bash version targeted is the 3.x line and generally won't work in older versions.
vcs
version 1.0.11 included patches to run on bash 2.x but never really workedvcs
version 1.11 and 1.12 work on bash 2.05b and higher, 1.12.2 will be the last version capable of doing so, newer versions will require bash 3.1References: http://wiki.bash-hackers.org/scripting/bashchanges
for ((;;))
: C-style for. Loops in bash are *really* slow, an inline AWK loop, is much faster[[ ... ]]
: test
replacement. Builtin with cleaner syntax and parsing, no need to quote, grouping (parentheses), &&
and ||
instead of -a
and -o
, arithmetic operators (e.g. -eq
) force arithmetic evaluation (i.e. [[ 2 -eq "1+1" ]] is true): [ “$VAR” = “$X” -a 2 -eq $(( 1+1 )) ]
→ [[ $VAR = $X && 2 -eq '1+1' ]]
caller
: caller 0
prints the calling function and line[[ =~ ]]
: Pattern matching (right side can be an extended regular expression) 3) shopt compat31
/ shopt compat32
be used.