* remove unneeded semi-colons at end of line
* fix SC2206: Quote to prevent word splitting/globbing
* fix SC2164: Use 'cd ... || exit' in case cd fails
* fix SC2004: $/${} is unnecessary on arithmetic variables.
* fix SC2155: Declare and assign separately to avoid masking return values.
* fix SC2124: Assigning an array to a string! Assign as array, or use * instead of @ to concatenate.
* fix SC2059: Don't use variables in the printf format string. Use printf "..%s.." "$foo".
* fix SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
* fix SC1090: Can't follow non-constant source. Use a directive to specify location.
* fix SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
* SC2223: This default assignment may cause DoS due to globbing. Quote it.
* fix SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
* fix SC1117: Backslash is literal in "\n". Prefer explicit escaping: "\\n"
* better handling of branch comapre
* add missing local ver_73 from merge
* remove duplicate definition