[Refactor] `nvm.sh`: make coding style more consistent
diff --git a/nvm.sh b/nvm.sh
index 9fa2fb6..2232d85 100644
--- a/nvm.sh
+++ b/nvm.sh
@@ -34,7 +34,7 @@
 }
 
 nvm_has() {
-  type "${1-}" > /dev/null 2>&1
+  type "${1-}" >/dev/null 2>&1
 }
 
 nvm_has_non_aliased() {
@@ -44,7 +44,7 @@
 nvm_is_alias() {
   # this is intentionally not "command alias" so it works in zsh.
   # shellcheck disable=SC1001
-  \alias "${1-}" > /dev/null 2>&1
+  \alias "${1-}" >/dev/null 2>&1
 }
 
 nvm_command_info() {
@@ -55,7 +55,7 @@
     INFO="$(type "${COMMAND}" | command sed -E 's/\(|\)//g' | command awk '{print $4}')"
   elif type "${COMMAND}" | nvm_grep -q aliased; then
     # shellcheck disable=SC2230
-    INFO="$(which "${COMMAND}") ($(type "${COMMAND}" | command awk '{ $1=$2=$3=$4="" ;print }' | command sed -e 's/^\ *//g' -Ee "s/\`|'//g" ))"
+    INFO="$(which "${COMMAND}") ($(type "${COMMAND}" | command awk '{ $1=$2=$3=$4="" ;print }' | command sed -e 's/^\ *//g' -Ee "s/\`|'//g"))"
   elif type "${COMMAND}" | nvm_grep -q "^${COMMAND} is an alias for"; then
     # shellcheck disable=SC2230
     INFO="$(which "${COMMAND}") ($(type "${COMMAND}" | command awk '{ $1=$2=$3=$4=$5="" ;print }' | command sed 's/^\ *//g'))"
@@ -80,7 +80,7 @@
 }
 
 nvm_curl_use_compression() {
-  nvm_curl_libz_support && nvm_version_greater_than_or_equal_to "$(nvm_curl_version)" 7.21.0;
+  nvm_curl_libz_support && nvm_version_greater_than_or_equal_to "$(nvm_curl_version)" 7.21.0
 }
 
 nvm_get_latest() {
@@ -136,7 +136,7 @@
 }
 
 nvm_is_version_installed() {
-  [ -n "${1-}" ] && [ -x "$(nvm_version_path "$1" 2> /dev/null)"/bin/node ]
+  [ -n "${1-}" ] && [ -x "$(nvm_version_path "$1" 2>/dev/null)"/bin/node ]
 }
 
 nvm_print_npm_version() {
@@ -226,7 +226,7 @@
     fi
 
     if [ $NVM_IS_4_4_OR_BELOW -eq 1 ] || (\
-      [ $NVM_IS_5_OR_ABOVE -eq 1 ] && nvm_version_greater 5.10.0 "${NODE_VERSION}"\
+      [ $NVM_IS_5_OR_ABOVE -eq 1 ] && nvm_version_greater 5.10.0 "${NODE_VERSION}" \
     ); then
       nvm_echo '* `npm` `v5.3.x` is the last version that works on `node` 4.x versions below v4.4, or 5.x versions below v5.10, due to `Buffer.alloc`'
       $NVM_NPM_CMD install -g npm@5.3
@@ -261,7 +261,7 @@
     NVM_SCRIPT_SOURCE="${BASH_SOURCE[0]}"
   fi
   # shellcheck disable=SC1001
-  NVM_DIR="$(nvm_cd ${NVM_CD_FLAGS} "$(dirname "${NVM_SCRIPT_SOURCE:-$0}")" > /dev/null && \pwd)"
+  NVM_DIR="$(nvm_cd ${NVM_CD_FLAGS} "$(dirname "${NVM_SCRIPT_SOURCE:-$0}")" >/dev/null && \pwd)"
   export NVM_DIR
 else
   # https://unix.stackexchange.com/a/198289
@@ -273,7 +273,7 @@
     ;;
   esac
 fi
-unset NVM_SCRIPT_SOURCE 2> /dev/null
+unset NVM_SCRIPT_SOURCE 2>/dev/null
 
 nvm_tree_contains_path() {
   local tree
@@ -304,7 +304,6 @@
   nvm_echo "${path_}"
 }
 
-
 nvm_find_nvmrc() {
   local dir
   dir="$(nvm_find_up '.nvmrc')"
@@ -350,7 +349,7 @@
       else if (a[i] > b[i]) exit(0);
     }
     exit(4)
-  }' "${1#v}" "${2#v}";
+  }' "${1#v}" "${2#v}"
 }
 
 nvm_version_greater_than_or_equal_to() {
@@ -364,7 +363,7 @@
       else if (a[i] > b[i]) exit(0);
     }
     exit(0)
-  }' "${1#v}" "${2#v}";
+  }' "${1#v}" "${2#v}"
 }
 
 nvm_version_dir() {
@@ -455,7 +454,7 @@
   VERSION="$(nvm_ls "${PATTERN}" | command tail -1)"
   if [ -z "${VERSION}" ] || [ "_${VERSION}" = "_N/A" ]; then
     nvm_echo "N/A"
-    return 3;
+    return 3
   fi
   nvm_echo "${VERSION}"
 }
@@ -464,7 +463,7 @@
   local PATTERN
   PATTERN="${1-}"
   local VERSION
-  if nvm_validate_implicit_alias "${PATTERN}" 2> /dev/null ; then
+  if nvm_validate_implicit_alias "${PATTERN}" 2>/dev/null; then
     case "${PATTERN}" in
       "$(nvm_iojs_prefix)")
         VERSION="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote_iojs | command tail -1)" &&:
@@ -514,7 +513,7 @@
     ;;
   esac
 
-  if nvm_validate_implicit_alias "${PATTERN-}" 2> /dev/null ; then
+  if nvm_validate_implicit_alias "${PATTERN-}" 2>/dev/null; then
     nvm_err 'Implicit aliases are not supported in nvm_remote_versions.'
     return 1
   fi
@@ -558,7 +557,7 @@
 }
 
 nvm_is_valid_version() {
-  if nvm_validate_implicit_alias "${1-}" 2> /dev/null; then
+  if nvm_validate_implicit_alias "${1-}" 2>/dev/null; then
     return 0
   fi
   case "${1-}" in
@@ -711,7 +710,7 @@
     if [ "_${DEST%/*}" = "_lts" ]; then
       DEST_FORMAT='\033[1;33m%s\033[0m'
     fi
-  elif [ "_$VERSION" != '_∞' ] && [ "_$VERSION" != '_N/A' ]; then
+  elif [ "_${VERSION}" != '_∞' ] && [ "_${VERSION}" != '_N/A' ]; then
     VERSION_FORMAT='%s *'
   fi
   if [ "${DEST}" = "${VERSION}" ]; then
@@ -737,7 +736,7 @@
   local ALIAS
   ALIAS="${ALIAS_PATH##${NVM_ALIAS_DIR}\/}"
   local DEST
-  DEST="$(nvm_alias "${ALIAS}" 2> /dev/null)" ||:
+  DEST="$(nvm_alias "${ALIAS}" 2>/dev/null)" ||:
   if [ -n "${DEST}" ]; then
     NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_LTS="${NVM_LTS-}" DEFAULT=false nvm_print_formatted_alias "${ALIAS}" "${DEST}"
   fi
@@ -842,7 +841,7 @@
 
 nvm_ls_current() {
   local NVM_LS_CURRENT_NODE_PATH
-  if ! NVM_LS_CURRENT_NODE_PATH="$(command which node 2> /dev/null)"; then
+  if ! NVM_LS_CURRENT_NODE_PATH="$(command which node 2>/dev/null)"; then
     nvm_echo 'none'
   elif nvm_tree_contains_path "$(nvm_version_dir iojs)" "${NVM_LS_CURRENT_NODE_PATH}"; then
     nvm_add_iojs_prefix "$(iojs --version 2>/dev/null)"
@@ -874,13 +873,13 @@
   local SEEN_ALIASES
   SEEN_ALIASES="${ALIAS}"
   while true; do
-    ALIAS_TEMP="$(nvm_alias "${ALIAS}" 2> /dev/null || nvm_echo)"
+    ALIAS_TEMP="$(nvm_alias "${ALIAS}" 2>/dev/null || nvm_echo)"
 
     if [ -z "${ALIAS_TEMP}" ]; then
       break
     fi
 
-    if command printf "${SEEN_ALIASES}" | nvm_grep -q -e "^${ALIAS_TEMP}$" ; then
+    if command printf "${SEEN_ALIASES}" | nvm_grep -q -e "^${ALIAS_TEMP}$"; then
       ALIAS="∞"
       break
     fi
@@ -897,7 +896,7 @@
     case "${ALIAS}" in
       '∞' | \
       "${NVM_IOJS_PREFIX}" | "${NVM_IOJS_PREFIX}-" | \
-      "${NVM_NODE_PREFIX}" )
+      "${NVM_NODE_PREFIX}")
         nvm_echo "${ALIAS}"
       ;;
       *)
@@ -907,9 +906,9 @@
     return 0
   fi
 
-  if nvm_validate_implicit_alias "${PATTERN}" 2> /dev/null ; then
+  if nvm_validate_implicit_alias "${PATTERN}" 2>/dev/null; then
     local IMPLICIT
-    IMPLICIT="$(nvm_print_implicit_alias local "${PATTERN}" 2> /dev/null)"
+    IMPLICIT="$(nvm_print_implicit_alias local "${PATTERN}" 2>/dev/null)"
     if [ -n "${IMPLICIT}" ]; then
       nvm_ensure_version_prefix "${IMPLICIT}"
     fi
@@ -985,7 +984,7 @@
   NVM_VERSION_DIR_OLD="$(nvm_version_dir old)"
 
   case "${PATTERN}" in
-    "${NVM_IOJS_PREFIX}" | "${NVM_NODE_PREFIX}" )
+    "${NVM_IOJS_PREFIX}" | "${NVM_NODE_PREFIX}")
       PATTERN="${PATTERN}-"
     ;;
     *)
@@ -1109,7 +1108,7 @@
 nvm_ls_remote() {
   local PATTERN
   PATTERN="${1-}"
-  if nvm_validate_implicit_alias "${PATTERN}" 2> /dev/null ; then
+  if nvm_validate_implicit_alias "${PATTERN}" 2>/dev/null ; then
     local IMPLICIT
     IMPLICIT="$(nvm_print_implicit_alias remote "${PATTERN}")"
     if [ -z "${IMPLICIT-}" ] || [ "${IMPLICIT}" = 'N/A' ]; then
@@ -1214,7 +1213,7 @@
     | while read -r LTS_ALIAS_LINE; do
       LTS_ALIAS="${LTS_ALIAS_LINE%% *}"
       LTS_VERSION="${LTS_ALIAS_LINE#* }"
-      nvm_make_alias "$LTS_ALIAS" "$LTS_VERSION" >/dev/null 2>&1
+      nvm_make_alias "${LTS_ALIAS}" "${LTS_VERSION}" >/dev/null 2>&1
     done
 
   VERSIONS="$({ command awk -v pattern="${PATTERN-}" -v lts="${LTS-}" '{
@@ -1425,17 +1424,17 @@
     VERSION="${VERSION_LINE%% *}"
     LTS="${VERSION_LINE#* }"
     FORMAT='%15s'
-    if [ "_$VERSION" = "_$NVM_CURRENT" ]; then
+    if [ "_${VERSION}" = "_${NVM_CURRENT}" ]; then
       if [ "${NVM_HAS_COLORS-}" = '1' ]; then
         FORMAT='\033[0;32m-> %12s\033[0m'
       else
         FORMAT='-> %12s *'
       fi
-    elif [ "$VERSION" = "system" ]; then
+    elif [ "${VERSION}" = "system" ]; then
       if [ "${NVM_HAS_COLORS-}" = '1' ]; then
         FORMAT='\033[0;33m%15s\033[0m'
       fi
-    elif nvm_is_version_installed "$VERSION"; then
+    elif nvm_is_version_installed "${VERSION}"; then
       if [ "${NVM_HAS_COLORS-}" = '1' ]; then
         FORMAT='\033[0;34m%15s\033[0m'
       else
@@ -1462,9 +1461,9 @@
           fi
         ;;
       esac
-      command printf -- "${FORMAT}${LTS_FORMAT}\\n" "$VERSION" " $LTS"
+      command printf -- "${FORMAT}${LTS_FORMAT}\\n" "${VERSION}" " ${LTS}"
     else
-      command printf -- "${FORMAT}\\n" "$VERSION"
+      command printf -- "${FORMAT}\\n" "${VERSION}"
     fi
   done
 }
@@ -1476,11 +1475,11 @@
   NVM_NODE_PREFIX="$(nvm_node_prefix)"
 
   case "$1" in
-    "stable" | "unstable" | "$NVM_IOJS_PREFIX" | "$NVM_NODE_PREFIX" )
+    "stable" | "unstable" | "${NVM_IOJS_PREFIX}" | "${NVM_NODE_PREFIX}")
       return
     ;;
     *)
-      nvm_err "Only implicit aliases 'stable', 'unstable', '$NVM_IOJS_PREFIX', and '$NVM_NODE_PREFIX' are supported."
+      nvm_err "Only implicit aliases 'stable', 'unstable', '${NVM_IOJS_PREFIX}', and '${NVM_NODE_PREFIX}' are supported."
       return 1
     ;;
   esac
@@ -1494,7 +1493,7 @@
 
   local NVM_IMPLICIT
   NVM_IMPLICIT="$2"
-  if ! nvm_validate_implicit_alias "$NVM_IMPLICIT"; then
+  if ! nvm_validate_implicit_alias "${NVM_IMPLICIT}"; then
     return 2
   fi
 
@@ -1505,32 +1504,32 @@
   local NVM_COMMAND
   local NVM_ADD_PREFIX_COMMAND
   local LAST_TWO
-  case "$NVM_IMPLICIT" in
-    "$NVM_IOJS_PREFIX")
+  case "${NVM_IMPLICIT}" in
+    "${NVM_IOJS_PREFIX}")
       NVM_COMMAND="nvm_ls_remote_iojs"
       NVM_ADD_PREFIX_COMMAND="nvm_add_iojs_prefix"
       if [ "_$1" = "_local" ]; then
-        NVM_COMMAND="nvm_ls $NVM_IMPLICIT"
+        NVM_COMMAND="nvm_ls ${NVM_IMPLICIT}"
       fi
 
       nvm_is_zsh && setopt local_options shwordsplit
 
       local NVM_IOJS_VERSION
       local EXIT_CODE
-      NVM_IOJS_VERSION="$($NVM_COMMAND)" &&:
+      NVM_IOJS_VERSION="$(${NVM_COMMAND})" &&:
       EXIT_CODE="$?"
-      if [ "_$EXIT_CODE" = "_0" ]; then
-        NVM_IOJS_VERSION="$(nvm_echo "$NVM_IOJS_VERSION" | command sed "s/^$NVM_IMPLICIT-//" | nvm_grep -e '^v' | command cut -c2- | command cut -d . -f 1,2 | uniq | command tail -1)"
+      if [ "_${EXIT_CODE}" = "_0" ]; then
+        NVM_IOJS_VERSION="$(nvm_echo "${NVM_IOJS_VERSION}" | command sed "s/^${NVM_IMPLICIT}-//" | nvm_grep -e '^v' | command cut -c2- | command cut -d . -f 1,2 | uniq | command tail -1)"
       fi
 
       if [ "_$NVM_IOJS_VERSION" = "_N/A" ]; then
         nvm_echo 'N/A'
       else
-        $NVM_ADD_PREFIX_COMMAND "$NVM_IOJS_VERSION"
+        ${NVM_ADD_PREFIX_COMMAND} "${NVM_IOJS_VERSION}"
       fi
       return $EXIT_CODE
     ;;
-    "$NVM_NODE_PREFIX")
+    "${NVM_NODE_PREFIX}")
       nvm_echo 'stable'
       return
     ;;
@@ -1557,11 +1556,11 @@
     if [ "_0${NORMALIZED_VERSION#?}" != "_$NORMALIZED_VERSION" ]; then
       STABLE="$MINOR"
     else
-      MOD="$(awk 'BEGIN { print int(ARGV[1] / 1000000) % 2 ; exit(0) }' "$NORMALIZED_VERSION")"
-      if [ "$MOD" -eq 0 ]; then
-        STABLE="$MINOR"
-      elif [ "$MOD" -eq 1 ]; then
-        UNSTABLE="$MINOR"
+      MOD="$(awk 'BEGIN { print int(ARGV[1] / 1000000) % 2 ; exit(0) }' "${NORMALIZED_VERSION}")"
+      if [ "${MOD}" -eq 0 ]; then
+        STABLE="${MINOR}"
+      elif [ "${MOD}" -eq 1 ]; then
+        UNSTABLE="${MINOR}"
       fi
     fi
   done
@@ -1577,7 +1576,7 @@
   local NVM_UNAME
   NVM_UNAME="$(command uname -a)"
   local NVM_OS
-  case "$NVM_UNAME" in
+  case "${NVM_UNAME}" in
     Linux\ *) NVM_OS=linux ;;
     Darwin\ *) NVM_OS=darwin ;;
     SunOS\ *) NVM_OS=sunos ;;
@@ -1597,24 +1596,24 @@
   # the most appropriate arch. If it's not available, use
   # isainfo to get the instruction set supported by the
   # kernel.
-  if [ "_$NVM_OS" = "_sunos" ]; then
+  if [ "_${NVM_OS}" = "_sunos" ]; then
     if HOST_ARCH=$(pkg_info -Q MACHINE_ARCH pkg_install); then
       HOST_ARCH=$(nvm_echo "${HOST_ARCH}" | command tail -1)
     else
       HOST_ARCH=$(isainfo -n)
     fi
-  elif [ "_$NVM_OS" = "_aix" ]; then
+  elif [ "_${NVM_OS}" = "_aix" ]; then
     HOST_ARCH=ppc64
   else
     HOST_ARCH="$(command uname -m)"
   fi
 
   local NVM_ARCH
-  case "$HOST_ARCH" in
+  case "${HOST_ARCH}" in
     x86_64 | amd64) NVM_ARCH="x64" ;;
     i*86) NVM_ARCH="x86" ;;
     aarch64) NVM_ARCH="arm64" ;;
-    *) NVM_ARCH="$HOST_ARCH" ;;
+    *) NVM_ARCH="${HOST_ARCH}" ;;
   esac
   nvm_echo "${NVM_ARCH}"
 }
@@ -1623,12 +1622,12 @@
   local VERSION
   VERSION="$1"
 
-  if [ -z "$VERSION" ]; then
+  if [ -z "${VERSION}" ]; then
     nvm_err 'a version is required'
     return 1
   fi
 
-  case "$VERSION" in
+  case "${VERSION}" in
     v | .* | *..* | v*[!.0123456789]* | [!v]*[!.0123456789]* | [!v0123456789]* | v[!0123456789]*)
       nvm_err 'invalid version number'
       return 2
@@ -1636,11 +1635,11 @@
   esac
 
   local PREFIXED_VERSION
-  PREFIXED_VERSION="$(nvm_format_version "$VERSION")"
+  PREFIXED_VERSION="$(nvm_format_version "${VERSION}")"
 
   local MINOR
-  MINOR="$(nvm_echo "$PREFIXED_VERSION" | nvm_grep -e '^v' | command cut -c2- | command cut -d . -f 1,2)"
-  if [ -z "$MINOR" ]; then
+  MINOR="$(nvm_echo "${PREFIXED_VERSION}" | nvm_grep -e '^v' | command cut -c2- | command cut -d . -f 1,2)"
+  if [ -z "${MINOR}" ]; then
     nvm_err 'invalid version number! (please report this)'
     return 3
   fi
@@ -1650,7 +1649,7 @@
 nvm_ensure_default_set() {
   local VERSION
   VERSION="$1"
-  if [ -z "$VERSION" ]; then
+  if [ -z "${VERSION}" ]; then
     nvm_err 'nvm_ensure_default_set: a version is required'
     return 1
   elif nvm_alias default >/dev/null 2>&1; then
@@ -1658,10 +1657,10 @@
     return 0
   fi
   local OUTPUT
-  OUTPUT="$(nvm alias default "$VERSION")"
+  OUTPUT="$(nvm alias default "${VERSION}")"
   local EXIT_CODE
   EXIT_CODE="$?"
-  nvm_echo "Creating default alias: $OUTPUT"
+  nvm_echo "Creating default alias: ${OUTPUT}"
   return $EXIT_CODE
 }
 
@@ -1894,8 +1893,8 @@
   )
 
   if nvm_grep '404 Not Found' "${TARBALL}" >/dev/null; then
-    command rm -rf "${TARBALL}" "$tmpdir"
-    nvm_err "HTTP 404 at URL ${TARBALL_URL}";
+    command rm -rf "${TARBALL}" "${tmpdir}"
+    nvm_err "HTTP 404 at URL ${TARBALL_URL}"
     return 5
   fi
 
@@ -1910,7 +1909,7 @@
 nvm_get_make_jobs() {
   if nvm_is_natural_num "${1-}"; then
     NVM_MAKE_JOBS="$1"
-    nvm_echo "number of \`make\` jobs: $NVM_MAKE_JOBS"
+    nvm_echo "number of \`make\` jobs: ${NVM_MAKE_JOBS}"
     return
   elif [ -n "${1-}" ]; then
     unset NVM_MAKE_JOBS
@@ -1919,7 +1918,7 @@
   local NVM_OS
   NVM_OS="$(nvm_get_os)"
   local NVM_CPU_CORES
-  case "_$NVM_OS" in
+  case "_${NVM_OS}" in
     "_linux")
       NVM_CPU_CORES="$(nvm_grep -c -E '^processor.+: [0-9]+' /proc/cpuinfo)"
     ;;
@@ -1933,15 +1932,15 @@
       NVM_CPU_CORES="$(pmcycles -m | wc -l)"
     ;;
   esac
-  if ! nvm_is_natural_num "$NVM_CPU_CORES" ; then
+  if ! nvm_is_natural_num "${NVM_CPU_CORES}"; then
     nvm_err 'Can not determine how many core(s) are available, running in single-threaded mode.'
     nvm_err 'Please report an issue on GitHub to help us make nvm run faster on your computer!'
     NVM_MAKE_JOBS=1
   else
-    nvm_echo "Detected that you have $NVM_CPU_CORES CPU core(s)"
-    if [ "$NVM_CPU_CORES" -gt 2 ]; then
+    nvm_echo "Detected that you have ${NVM_CPU_CORES} CPU core(s)"
+    if [ "${NVM_CPU_CORES}" -gt 2 ]; then
       NVM_MAKE_JOBS=$((NVM_CPU_CORES - 1))
-      nvm_echo "Running with $NVM_MAKE_JOBS threads to speed up the build"
+      nvm_echo "Running with ${NVM_MAKE_JOBS} threads to speed up the build"
     else
       NVM_MAKE_JOBS=1
       nvm_echo 'Number of CPU core(s) less than or equal to 2, running in single-threaded mode'
@@ -2012,7 +2011,7 @@
     ;;
   esac
   if nvm_has "clang++" && nvm_has "clang" && nvm_version_greater_than_or_equal_to "$(nvm_clang_version)" 3.5; then
-    if [ -z "${CC-}" ] || [ -z "${CXX-}" ] ; then
+    if [ -z "${CC-}" ] || [ -z "${CXX-}" ]; then
       nvm_echo "Clang v3.5+ detected! CC or CXX not specified, will use Clang as C/C++ compiler!"
       MAKE_CXX="CC=${CC:-cc} CXX=${CXX:-c++}"
     fi
@@ -2076,10 +2075,10 @@
   VERSION="$(nvm_ls_current)"
   if ! nvm_has "npm"; then
     nvm_echo 'Installing npm...'
-    if nvm_version_greater 0.2.0 "$VERSION"; then
+    if nvm_version_greater 0.2.0 "${VERSION}"; then
       nvm_err 'npm requires node v0.2.3 or higher'
-    elif nvm_version_greater_than_or_equal_to "$VERSION" 0.2.0; then
-      if nvm_version_greater 0.2.3 "$VERSION"; then
+    elif nvm_version_greater_than_or_equal_to "${VERSION}" 0.2.0; then
+      if nvm_version_greater 0.2.3 "${VERSION}"; then
         nvm_err 'npm requires node v0.2.3 or higher'
       else
         nvm_download -L https://npmjs.org/install.sh -o - | clean=yes npm_install=0.2.19 sh
@@ -2096,15 +2095,15 @@
   NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
   local PROVIDED_VERSION
   PROVIDED_VERSION="$1"
-  case "_$PROVIDED_VERSION" in
-    "_$NVM_IOJS_PREFIX" | '_io.js')
-      nvm_version "$NVM_IOJS_PREFIX"
+  case "_${PROVIDED_VERSION}" in
+    "_${NVM_IOJS_PREFIX}" | '_io.js')
+      nvm_version "${NVM_IOJS_PREFIX}"
     ;;
     '_system')
       nvm_echo 'system'
     ;;
     *)
-      nvm_version "$PROVIDED_VERSION"
+      nvm_version "${PROVIDED_VERSION}"
     ;;
   esac
 }
@@ -2113,22 +2112,22 @@
   local NPMLIST
   local VERSION
   VERSION="$1"
-  NPMLIST=$(nvm use "$VERSION" > /dev/null && npm list -g --depth=0 2> /dev/null | command sed 1,1d)
+  NPMLIST=$(nvm use "${VERSION}" >/dev/null && npm list -g --depth=0 2>/dev/null | command sed 1,1d)
 
   local INSTALLS
-  INSTALLS=$(nvm_echo "$NPMLIST" | command sed -e '/ -> / d' -e '/\(empty\)/ d' -e 's/^.* \(.*@[^ ]*\).*/\1/' -e '/^npm@[^ ]*.*$/ d' | command xargs)
+  INSTALLS=$(nvm_echo "${NPMLIST}" | command sed -e '/ -> / d' -e '/\(empty\)/ d' -e 's/^.* \(.*@[^ ]*\).*/\1/' -e '/^npm@[^ ]*.*$/ d' | command xargs)
 
   local LINKS
-  LINKS="$(nvm_echo "$NPMLIST" | command sed -n 's/.* -> \(.*\)/\1/ p')"
+  LINKS="$(nvm_echo "${NPMLIST}" | command sed -n 's/.* -> \(.*\)/\1/ p')"
 
-  nvm_echo "$INSTALLS //// $LINKS"
+  nvm_echo "${INSTALLS} //// ${LINKS}"
 }
 
 nvm_die_on_prefix() {
   local NVM_DELETE_PREFIX
   NVM_DELETE_PREFIX="$1"
-  case "$NVM_DELETE_PREFIX" in
-    0|1) ;;
+  case "${NVM_DELETE_PREFIX}" in
+    0 | 1) ;;
     *)
       nvm_err 'First argument "delete the prefix" must be zero or one'
       return 1
@@ -2136,7 +2135,7 @@
   esac
   local NVM_COMMAND
   NVM_COMMAND="$2"
-  if [ -z "$NVM_COMMAND" ]; then
+  if [ -z "${NVM_COMMAND}" ]; then
     nvm_err 'Second argument "nvm command" must be nonempty'
     return 2
   fi
@@ -2175,16 +2174,16 @@
 
   local NVM_NPM_PREFIX
   NVM_NPM_PREFIX="$(npm config --loglevel=warn get prefix)"
-  if ! (nvm_tree_contains_path "$NVM_DIR" "$NVM_NPM_PREFIX" >/dev/null 2>&1); then
-    if [ "_$NVM_DELETE_PREFIX" = "_1" ]; then
+  if ! (nvm_tree_contains_path "${NVM_DIR}" "${NVM_NPM_PREFIX}" >/dev/null 2>&1); then
+    if [ "_${NVM_DELETE_PREFIX}" = "_1" ]; then
       npm config --loglevel=warn delete prefix
     else
       nvm deactivate >/dev/null 2>&1
-      nvm_err "nvm is not compatible with the npm config \"prefix\" option: currently set to \"$NVM_NPM_PREFIX\""
+      nvm_err "nvm is not compatible with the npm config \"prefix\" option: currently set to \"${NVM_NPM_PREFIX}\""
       if nvm_has 'npm'; then
-        nvm_err "Run \`npm config delete prefix\` or \`$NVM_COMMAND\` to unset it."
+        nvm_err "Run \`npm config delete prefix\` or \`${NVM_COMMAND}\` to unset it."
       else
-        nvm_err "Run \`$NVM_COMMAND\` to unset it."
+        nvm_err "Run \`${NVM_COMMAND}\` to unset it."
       fi
       return 10
     fi
@@ -2200,13 +2199,13 @@
   local IOJS_VERSION
   IOJS_VERSION="$1"
   local STRIPPED_IOJS_VERSION
-  STRIPPED_IOJS_VERSION="$(nvm_strip_iojs_prefix "$IOJS_VERSION")"
-  if [ "_$STRIPPED_IOJS_VERSION" = "$IOJS_VERSION" ]; then
+  STRIPPED_IOJS_VERSION="$(nvm_strip_iojs_prefix "${IOJS_VERSION}")"
+  if [ "_${STRIPPED_IOJS_VERSION}" = "${IOJS_VERSION}" ]; then
     return 1
   fi
 
   # io.js started shipping Solaris binaries with io.js v3.3.1
-  nvm_version_greater_than_or_equal_to "$STRIPPED_IOJS_VERSION" v3.3.1
+  nvm_version_greater_than_or_equal_to "${STRIPPED_IOJS_VERSION}" v3.3.1
 }
 
 # Succeeds if $NODE_VERSION represents a node version that has a
@@ -2218,41 +2217,41 @@
   NODE_VERSION="$1"
   # Error out if $NODE_VERSION is actually an io.js version
   local STRIPPED_IOJS_VERSION
-  STRIPPED_IOJS_VERSION="$(nvm_strip_iojs_prefix "$NODE_VERSION")"
-  if [ "_$STRIPPED_IOJS_VERSION" != "_$NODE_VERSION" ]; then
+  STRIPPED_IOJS_VERSION="$(nvm_strip_iojs_prefix "${NODE_VERSION}")"
+  if [ "_${STRIPPED_IOJS_VERSION}" != "_${NODE_VERSION}" ]; then
     return 1
   fi
 
   # node (unmerged) started shipping Solaris binaries with v0.8.6 and
   # node versions v1.0.0 or greater are not considered valid "unmerged" node
   # versions.
-  nvm_version_greater_than_or_equal_to "$NODE_VERSION" v0.8.6 &&
-  ! nvm_version_greater_than_or_equal_to "$NODE_VERSION" v1.0.0
+  nvm_version_greater_than_or_equal_to "${NODE_VERSION}" v0.8.6 \
+  && ! nvm_version_greater_than_or_equal_to "${NODE_VERSION}" v1.0.0
 }
 
 # Succeeds if $VERSION represents a version (node, io.js or merged) that has a
 # Solaris binary, fails otherwise.
 nvm_has_solaris_binary() {
   local VERSION=$1
-  if nvm_is_merged_node_version "$VERSION"; then
+  if nvm_is_merged_node_version "${VERSION}"; then
     return 0 # All merged node versions have a Solaris binary
-  elif nvm_is_iojs_version "$VERSION"; then
-    iojs_version_has_solaris_binary "$VERSION"
+  elif nvm_is_iojs_version "${VERSION}"; then
+    iojs_version_has_solaris_binary "${VERSION}"
   else
-    node_version_has_solaris_binary "$VERSION"
+    node_version_has_solaris_binary "${VERSION}"
   fi
 }
 
 nvm_sanitize_path() {
   local SANITIZED_PATH
   SANITIZED_PATH="${1-}"
-  if [ "_$SANITIZED_PATH" != "_$NVM_DIR" ]; then
-    SANITIZED_PATH="$(nvm_echo "$SANITIZED_PATH" | command sed -e "s#$NVM_DIR#\$NVM_DIR#g")"
+  if [ "_${SANITIZED_PATH}" != "_${NVM_DIR}" ]; then
+    SANITIZED_PATH="$(nvm_echo "${SANITIZED_PATH}" | command sed -e "s#${NVM_DIR}#\${NVM_DIR}#g")"
   fi
-  if [ "_$SANITIZED_PATH" != "_$HOME" ]; then
-    SANITIZED_PATH="$(nvm_echo "$SANITIZED_PATH" | command sed -e "s#$HOME#\$HOME#g")"
+  if [ "_${SANITIZED_PATH}" != "_${HOME}" ]; then
+    SANITIZED_PATH="$(nvm_echo "${SANITIZED_PATH}" | command sed -e "s#${HOME}#\${HOME}#g")"
   fi
-  nvm_echo "$SANITIZED_PATH"
+  nvm_echo "${SANITIZED_PATH}"
 }
 
 nvm_is_natural_num() {
@@ -2263,7 +2262,7 @@
     0) return 1 ;;
     -*) return 3 ;; # some BSDs return false positives for double-negated args
     *)
-      [ "$1" -eq "$1" ] 2> /dev/null # returns 2 if it doesn't match
+      [ "$1" -eq "$1" ] 2>/dev/null # returns 2 if it doesn't match
     ;;
   esac
 }
@@ -2311,7 +2310,7 @@
   local ADDITIONAL_PARAMETERS
 
   case $COMMAND in
-    'help' | '--help' )
+    'help' | '--help')
       local NVM_IOJS_PREFIX
       NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
       local NVM_NODE_PREFIX
@@ -2321,7 +2320,7 @@
       nvm_echo
       nvm_echo 'Note: <version> refers to any version-like string nvm understands. This includes:'
       nvm_echo '  - full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)'
-      nvm_echo "  - default (built-in) aliases: $NVM_NODE_PREFIX, stable, unstable, $NVM_IOJS_PREFIX, system"
+      nvm_echo "  - default (built-in) aliases: ${NVM_NODE_PREFIX}, stable, unstable, ${NVM_IOJS_PREFIX}, system"
       nvm_echo '  - custom aliases you define with `nvm alias foo`'
       nvm_echo
       nvm_echo ' Any options that produce colorized output should respect the `--no-colors` option.'
@@ -2384,7 +2383,7 @@
       nvm_echo
     ;;
 
-    "cache" )
+    "cache")
       case "${1-}" in
         dir) nvm_cache_dir ;;
         clear)
@@ -2404,21 +2403,21 @@
       esac
     ;;
 
-    "debug" )
+    "debug")
       local OS_VERSION
       nvm_is_zsh && setopt local_options shwordsplit
       nvm_err "nvm --version: v$(nvm --version)"
       if [ -n "${TERM_PROGRAM-}" ]; then
-        nvm_err "\$TERM_PROGRAM: $TERM_PROGRAM"
+        nvm_err "\$TERM_PROGRAM: ${TERM_PROGRAM}"
       fi
-      nvm_err "\$SHELL: $SHELL"
+      nvm_err "\$SHELL: ${SHELL}"
       # shellcheck disable=SC2169
       nvm_err "\$SHLVL: ${SHLVL-}"
-      nvm_err "\$HOME: $HOME"
-      nvm_err "\$NVM_DIR: '$(nvm_sanitize_path "$NVM_DIR")'"
-      nvm_err "\$PATH: $(nvm_sanitize_path "$PATH")"
-      nvm_err "\$PREFIX: '$(nvm_sanitize_path "$PREFIX")'"
-      nvm_err "\$NPM_CONFIG_PREFIX: '$(nvm_sanitize_path "$NPM_CONFIG_PREFIX")'"
+      nvm_err "\${HOME}: ${HOME}"
+      nvm_err "\${NVM_DIR}: '$(nvm_sanitize_path "${NVM_DIR}")'"
+      nvm_err "\${PATH}: $(nvm_sanitize_path "${PATH}")"
+      nvm_err "\$PREFIX: '$(nvm_sanitize_path "${PREFIX}")'"
+      nvm_err "\${NPM_CONFIG_PREFIX}: '$(nvm_sanitize_path "${NPM_CONFIG_PREFIX}")'"
       nvm_err "\$NVM_NODEJS_ORG_MIRROR: '${NVM_NODEJS_ORG_MIRROR}'"
       nvm_err "\$NVM_IOJS_ORG_MIRROR: '${NVM_IOJS_ORG_MIRROR}'"
       nvm_err "shell version: '$(${SHELL} --version | command head -n 1)'"
@@ -2427,7 +2426,7 @@
         OS_VERSION="$(sw_vers | command awk '{print $2}' | command xargs)"
       elif [ -r "/etc/issue" ]; then
         OS_VERSION="$(command head -n 1 /etc/issue | command sed 's/\\.//g')"
-        if [ -z "${OS_VERSION}" ] && [ -r "/etc/os-release" ] ; then
+        if [ -z "${OS_VERSION}" ] && [ -r "/etc/os-release" ]; then
           # shellcheck disable=SC1091
           OS_VERSION="$(. /etc/os-release && echo "${NAME}" "${VERSION}")"
         fi
@@ -2477,15 +2476,14 @@
       unset TEST_TOOLS ADD_TEST_TOOLS
 
       local NVM_DEBUG_OUTPUT
-      for NVM_DEBUG_COMMAND in 'nvm current' 'which node' 'which iojs' 'which npm' 'npm config get prefix' 'npm root -g'
-      do
-        NVM_DEBUG_OUTPUT="$($NVM_DEBUG_COMMAND 2>&1)"
-        nvm_err "$NVM_DEBUG_COMMAND: $(nvm_sanitize_path "$NVM_DEBUG_OUTPUT")"
+      for NVM_DEBUG_COMMAND in 'nvm current' 'which node' 'which iojs' 'which npm' 'npm config get prefix' 'npm root -g'; do
+        NVM_DEBUG_OUTPUT="$(${NVM_DEBUG_COMMAND} 2>&1)"
+        nvm_err "${NVM_DEBUG_COMMAND}: $(nvm_sanitize_path "${NVM_DEBUG_OUTPUT}")"
       done
       return 42
     ;;
 
-    "install" | "i" )
+    "install" | "i")
       local version_not_provided
       version_not_provided=0
       local NVM_OS
@@ -2507,8 +2505,7 @@
       local LTS
       local NVM_UPGRADE_NPM
       NVM_UPGRADE_NPM=0
-      while [ $# -ne 0 ]
-      do
+      while [ $# -ne 0 ]; do
         case "$1" in
           -s)
             shift # consume "-s"
@@ -2544,25 +2541,25 @@
       local provided_version
       provided_version="${1-}"
 
-      if [ -z "$provided_version" ]; then
+      if [ -z "${provided_version}" ]; then
         if [ "_${LTS-}" = '_*' ]; then
           nvm_echo 'Installing latest LTS version.'
           if [ $# -gt 0 ]; then
             shift
           fi
         elif [ "_${LTS-}" != '_' ]; then
-          nvm_echo "Installing with latest version of LTS line: $LTS"
+          nvm_echo "Installing with latest version of LTS line: ${LTS}"
           if [ $# -gt 0 ]; then
             shift
           fi
         else
           nvm_rc_version
-          if [ $version_not_provided -eq 1 ] && [ -z "$NVM_RC_VERSION" ]; then
+          if [ $version_not_provided -eq 1 ] && [ -z "${NVM_RC_VERSION}" ]; then
             unset NVM_RC_VERSION
             >&2 nvm --help
             return 127
           fi
-          provided_version="$NVM_RC_VERSION"
+          provided_version="${NVM_RC_VERSION}"
           unset NVM_RC_VERSION
         fi
       elif [ $# -gt 0 ]; then
@@ -2589,12 +2586,12 @@
           LTS_MSG='(with LTS filter) '
           REMOTE_CMD='nvm ls-remote --lts'
         elif [ -n "${LTS-}" ]; then
-          LTS_MSG="(with LTS filter '$LTS') "
+          LTS_MSG="(with LTS filter '${LTS}') "
           REMOTE_CMD="nvm ls-remote --lts=${LTS}"
         else
           REMOTE_CMD='nvm ls-remote'
         fi
-        nvm_err "Version '$provided_version' ${LTS_MSG-}not found - try \`${REMOTE_CMD}\` to browse available versions."
+        nvm_err "Version '${provided_version}' ${LTS_MSG-}not found - try \`${REMOTE_CMD}\` to browse available versions."
         return 3
       fi
 
@@ -2604,8 +2601,7 @@
       local SKIP_DEFAULT_PACKAGES
       local DEFAULT_PACKAGES
 
-      while [ $# -ne 0 ]
-      do
+      while [ $# -ne 0 ]; do
         case "$1" in
           --reinstall-packages-from=*)
             PROVIDED_REINSTALL_PACKAGES_FROM="$(nvm_echo "$1" | command cut -c 27-)"
@@ -2613,7 +2609,7 @@
               nvm_err 'If --reinstall-packages-from is provided, it must point to an installed version of node.'
               return 6
             fi
-            REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" ||:
+            REINSTALL_PACKAGES_FROM="$(nvm_version "${PROVIDED_REINSTALL_PACKAGES_FROM}")" ||:
           ;;
           --reinstall-packages-from)
             nvm_err 'If --reinstall-packages-from is provided, it must point to an installed version of node using `=`.'
@@ -2621,13 +2617,13 @@
           ;;
           --copy-packages-from=*)
             PROVIDED_REINSTALL_PACKAGES_FROM="$(nvm_echo "$1" | command cut -c 22-)"
-            REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" ||:
+            REINSTALL_PACKAGES_FROM="$(nvm_version "${PROVIDED_REINSTALL_PACKAGES_FROM}")" ||:
           ;;
           --skip-default-packages)
             SKIP_DEFAULT_PACKAGES=true
           ;;
           *)
-            ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1"
+            ADDITIONAL_PARAMETERS="${ADDITIONAL_PARAMETERS} $1"
           ;;
         esac
         shift
@@ -2643,11 +2639,11 @@
           [ -n "${line}" ] || continue
 
           # Skip comment lines that begin with `#`.
-          [ "$(nvm_echo "$line" | command cut -c1)" != "#" ] || continue
+          [ "$(nvm_echo "${line}" | command cut -c1)" != "#" ] || continue
 
           # Fail on lines that have multiple space-separated words
-          case ${line} in
-            *\ * )
+          case $line in
+            *\ *)
               nvm_err "Only one package per line is allowed in the ${NVM_DIR}/default-packages file. Please remove any lines with multiple space-separated values."
               return 1
             ;;
@@ -2666,30 +2662,30 @@
       fi
 
       local FLAVOR
-      if nvm_is_iojs_version "$VERSION"; then
+      if nvm_is_iojs_version "${VERSION}"; then
         FLAVOR="$(nvm_iojs_prefix)"
       else
         FLAVOR="$(nvm_node_prefix)"
       fi
 
-      if nvm_is_version_installed "$VERSION"; then
-        nvm_err "$VERSION is already installed."
-        if nvm use "$VERSION"; then
+      if nvm_is_version_installed "${VERSION}"; then
+        nvm_err "${VERSION} is already installed."
+        if nvm use "${VERSION}"; then
           if [ "${NVM_UPGRADE_NPM}" = 1 ]; then
             nvm install-latest-npm
           fi
           if [ -z "${SKIP_DEFAULT_PACKAGES-}" ] && [ -n "${DEFAULT_PACKAGES-}" ]; then
-            nvm_install_default_packages "$DEFAULT_PACKAGES"
+            nvm_install_default_packages "${DEFAULT_PACKAGES}"
           fi
-          if [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then
-            nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
+          if [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_${REINSTALL_PACKAGES_FROM}" != "_N/A" ]; then
+            nvm reinstall-packages "${REINSTALL_PACKAGES_FROM}"
           fi
         fi
         if [ -n "${LTS-}" ]; then
           LTS="$(echo "${LTS}" | tr '[:upper:]' '[:lower:]')"
           nvm_ensure_default_set "lts/${LTS}"
         else
-          nvm_ensure_default_set "$provided_version"
+          nvm_ensure_default_set "${provided_version}"
         fi
         return $?
       fi
@@ -2717,24 +2713,24 @@
         EXIT_CODE=0
       else
 
-        if [ "_$NVM_OS" = "_freebsd" ]; then
+        if [ "_${NVM_OS}" = "_freebsd" ]; then
           # node.js and io.js do not have a FreeBSD binary
           nobinary=1
           nvm_err "Currently, there is no binary for FreeBSD"
-        elif [ "_$NVM_OS" = "_sunos" ]; then
+        elif [ "_${NVM_OS}" = "_sunos" ]; then
           # Not all node/io.js versions have a Solaris binary
-          if ! nvm_has_solaris_binary "$VERSION"; then
+          if ! nvm_has_solaris_binary "${VERSION}"; then
             nobinary=1
-            nvm_err "Currently, there is no binary of version $VERSION for SunOS"
+            nvm_err "Currently, there is no binary of version ${VERSION} for SunOS"
           fi
         fi
 
         # skip binary install if "nobinary" option specified.
-        if [ $nobinary -ne 1 ] && nvm_binary_available "$VERSION"; then
+        if [ $nobinary -ne 1 ] && nvm_binary_available "${VERSION}"; then
           NVM_NO_PROGRESS="${NVM_NO_PROGRESS:-${noprogress}}" nvm_install_binary "${FLAVOR}" std "${VERSION}"
           EXIT_CODE=$?
         fi
-        if [ "$EXIT_CODE" -ne 0 ]; then
+        if [ $EXIT_CODE -ne 0 ]; then
           if [ -z "${NVM_MAKE_JOBS-}" ]; then
             nvm_get_make_jobs
           fi
@@ -2745,21 +2741,21 @@
 
       fi
 
-      if [ "$EXIT_CODE" -eq 0 ] && nvm_use_if_needed "${VERSION}" && nvm_install_npm_if_needed "${VERSION}"; then
+      if [ $EXIT_CODE -eq 0 ] && nvm_use_if_needed "${VERSION}" && nvm_install_npm_if_needed "${VERSION}"; then
         if [ -n "${LTS-}" ]; then
           nvm_ensure_default_set "lts/${LTS}"
         else
-          nvm_ensure_default_set "$provided_version"
+          nvm_ensure_default_set "${provided_version}"
         fi
         if [ "${NVM_UPGRADE_NPM}" = 1 ]; then
           nvm install-latest-npm
           EXIT_CODE=$?
         fi
         if [ -z "${SKIP_DEFAULT_PACKAGES-}" ] && [ -n "${DEFAULT_PACKAGES-}" ]; then
-          nvm_install_default_packages "$DEFAULT_PACKAGES"
+          nvm_install_default_packages "${DEFAULT_PACKAGES}"
         fi
-        if [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then
-          nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
+        if [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_${REINSTALL_PACKAGES_FROM}" != "_N/A" ]; then
+          nvm reinstall-packages "${REINSTALL_PACKAGES_FROM}"
           EXIT_CODE=$?
         fi
       else
@@ -2767,7 +2763,7 @@
       fi
       return $EXIT_CODE
     ;;
-    "uninstall" )
+    "uninstall")
       if [ $# -ne 1 ]; then
         >&2 nvm --help
         return 127
@@ -2802,7 +2798,7 @@
 
       if ! nvm_is_version_installed "${VERSION}"; then
         nvm_err "${VERSION} version is not installed..."
-        return;
+        return
       fi
 
       local SLUG_BINARY
@@ -2843,42 +2839,41 @@
       nvm_echo "${NVM_SUCCESS_MSG}"
 
       # rm any aliases that point to uninstalled version.
-      for ALIAS in $(nvm_grep -l "$VERSION" "$(nvm_alias_path)/*" 2>/dev/null)
-      do
-        nvm unalias "$(command basename "$ALIAS")"
+      for ALIAS in $(nvm_grep -l "${VERSION}" "$(nvm_alias_path)/*" 2>/dev/null); do
+        nvm unalias "$(command basename "${ALIAS}")"
       done
     ;;
-    "deactivate" )
+    "deactivate")
       local NEWPATH
-      NEWPATH="$(nvm_strip_path "$PATH" "/bin")"
-      if [ "_$PATH" = "_$NEWPATH" ]; then
-        nvm_err "Could not find $NVM_DIR/*/bin in \$PATH"
+      NEWPATH="$(nvm_strip_path "${PATH}" "/bin")"
+      if [ "_${PATH}" = "_${NEWPATH}" ]; then
+        nvm_err "Could not find ${NVM_DIR}/*/bin in \${PATH}"
       else
-        export PATH="$NEWPATH"
+        export PATH="${NEWPATH}"
         hash -r
-        nvm_echo "$NVM_DIR/*/bin removed from \$PATH"
+        nvm_echo "${NVM_DIR}/*/bin removed from \${PATH}"
       fi
 
       if [ -n "${MANPATH-}" ]; then
-        NEWPATH="$(nvm_strip_path "$MANPATH" "/share/man")"
-        if [ "_$MANPATH" = "_$NEWPATH" ]; then
-          nvm_err "Could not find $NVM_DIR/*/share/man in \$MANPATH"
+        NEWPATH="$(nvm_strip_path "${MANPATH}" "/share/man")"
+        if [ "_${MANPATH}" = "_${NEWPATH}" ]; then
+          nvm_err "Could not find ${NVM_DIR}/*/share/man in \${MANPATH}"
         else
-          export MANPATH="$NEWPATH"
-          nvm_echo "$NVM_DIR/*/share/man removed from \$MANPATH"
+          export MANPATH="${NEWPATH}"
+          nvm_echo "${NVM_DIR}/*/share/man removed from \${MANPATH}"
         fi
       fi
 
       if [ -n "${NODE_PATH-}" ]; then
-        NEWPATH="$(nvm_strip_path "$NODE_PATH" "/lib/node_modules")"
-        if [ "_$NODE_PATH" != "_$NEWPATH" ]; then
-          export NODE_PATH="$NEWPATH"
-          nvm_echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH"
+        NEWPATH="$(nvm_strip_path "${NODE_PATH}" "/lib/node_modules")"
+        if [ "_${NODE_PATH}" != "_${NEWPATH}" ]; then
+          export NODE_PATH="${NEWPATH}"
+          nvm_echo "${NVM_DIR}/*/lib/node_modules removed from \${NODE_PATH}"
         fi
       fi
       unset NVM_BIN
     ;;
-    "use" )
+    "use")
       local PROVIDED_VERSION
       local NVM_USE_SILENT
       NVM_USE_SILENT=0
@@ -2886,8 +2881,7 @@
       NVM_DELETE_PREFIX=0
       local NVM_LTS
 
-      while [ $# -ne 0 ]
-      do
+      while [ $# -ne 0 ]; do
         case "$1" in
           --silent) NVM_USE_SILENT=1 ;;
           --delete-prefix) NVM_DELETE_PREFIX=1 ;;
@@ -2909,12 +2903,12 @@
       elif [ -z "${PROVIDED_VERSION-}" ]; then
         nvm_rc_version
         if [ -n "${NVM_RC_VERSION-}" ]; then
-          PROVIDED_VERSION="$NVM_RC_VERSION"
-          VERSION="$(nvm_version "$PROVIDED_VERSION")"
+          PROVIDED_VERSION="${NVM_RC_VERSION}"
+          VERSION="$(nvm_version "${PROVIDED_VERSION}")"
         fi
         unset NVM_RC_VERSION
       else
-        VERSION="$(nvm_match_version "$PROVIDED_VERSION")"
+        VERSION="$(nvm_match_version "${PROVIDED_VERSION}")"
       fi
 
       if [ -z "${VERSION}" ]; then
@@ -2922,7 +2916,7 @@
         return 127
       fi
 
-      if [ "_$VERSION" = '_system' ]; then
+      if [ "_${VERSION}" = '_system' ]; then
         if nvm_has_system_node && nvm deactivate >/dev/null 2>&1; then
           if [ $NVM_USE_SILENT -ne 1 ]; then
             nvm_echo "Now using system version of node: $(node -v 2>/dev/null)$(nvm_print_npm_version)"
@@ -2937,9 +2931,9 @@
           nvm_err 'System version of node not found.'
         fi
         return 127
-      elif [ "_$VERSION" = "_∞" ]; then
+      elif [ "_${VERSION}" = "_∞" ]; then
         if [ $NVM_USE_SILENT -ne 1 ]; then
-          nvm_err "The alias \"$PROVIDED_VERSION\" leads to an infinite loop. Aborting."
+          nvm_err "The alias \"${PROVIDED_VERSION}\" leads to an infinite loop. Aborting."
         fi
         return 8
       fi
@@ -2955,52 +2949,52 @@
       fi
 
       local NVM_VERSION_DIR
-      NVM_VERSION_DIR="$(nvm_version_path "$VERSION")"
+      NVM_VERSION_DIR="$(nvm_version_path "${VERSION}")"
 
       # Change current version
-      PATH="$(nvm_change_path "$PATH" "/bin" "$NVM_VERSION_DIR")"
+      PATH="$(nvm_change_path "${PATH}" "/bin" "${NVM_VERSION_DIR}")"
       if nvm_has manpath; then
         if [ -z "${MANPATH-}" ]; then
           local MANPATH
           MANPATH=$(manpath)
         fi
         # Change current version
-        MANPATH="$(nvm_change_path "$MANPATH" "/share/man" "$NVM_VERSION_DIR")"
+        MANPATH="$(nvm_change_path "${MANPATH}" "/share/man" "${NVM_VERSION_DIR}")"
         export MANPATH
       fi
       export PATH
       hash -r
-      export NVM_BIN="$NVM_VERSION_DIR/bin"
+      export NVM_BIN="${NVM_VERSION_DIR}/bin"
       if [ "${NVM_SYMLINK_CURRENT-}" = true ]; then
-        command rm -f "$NVM_DIR/current" && ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current"
+        command rm -f "${NVM_DIR}/current" && ln -s "${NVM_VERSION_DIR}" "${NVM_DIR}/current"
       fi
       local NVM_USE_OUTPUT
       NVM_USE_OUTPUT=''
       if [ $NVM_USE_SILENT -ne 1 ]; then
-        if nvm_is_iojs_version "$VERSION"; then
-          NVM_USE_OUTPUT="Now using io.js $(nvm_strip_iojs_prefix "$VERSION")$(nvm_print_npm_version)"
+        if nvm_is_iojs_version "${VERSION}"; then
+          NVM_USE_OUTPUT="Now using io.js $(nvm_strip_iojs_prefix "${VERSION}")$(nvm_print_npm_version)"
         else
-          NVM_USE_OUTPUT="Now using node $VERSION$(nvm_print_npm_version)"
+          NVM_USE_OUTPUT="Now using node ${VERSION}$(nvm_print_npm_version)"
         fi
       fi
-      if [ "_$VERSION" != "_system" ]; then
+      if [ "_${VERSION}" != "_system" ]; then
         local NVM_USE_CMD
         NVM_USE_CMD="nvm use --delete-prefix"
-        if [ -n "$PROVIDED_VERSION" ]; then
-          NVM_USE_CMD="$NVM_USE_CMD $VERSION"
+        if [ -n "${PROVIDED_VERSION}" ]; then
+          NVM_USE_CMD="${NVM_USE_CMD} ${VERSION}"
         fi
         if [ $NVM_USE_SILENT -eq 1 ]; then
-          NVM_USE_CMD="$NVM_USE_CMD --silent"
+          NVM_USE_CMD="${NVM_USE_CMD} --silent"
         fi
-        if ! nvm_die_on_prefix "$NVM_DELETE_PREFIX" "$NVM_USE_CMD"; then
+        if ! nvm_die_on_prefix "${NVM_DELETE_PREFIX}" "${NVM_USE_CMD}"; then
           return 11
         fi
       fi
       if [ -n "${NVM_USE_OUTPUT-}" ]; then
-        nvm_echo "$NVM_USE_OUTPUT"
+        nvm_echo "${NVM_USE_OUTPUT}"
       fi
     ;;
-    "run" )
+    "run")
       local provided_version
       local has_checked_nvmrc
       has_checked_nvmrc=0
@@ -3008,8 +3002,7 @@
 
       local NVM_SILENT
       local NVM_LTS
-      while [ $# -gt 0 ]
-      do
+      while [ $# -gt 0 ]; do
         case "$1" in
           --silent) NVM_SILENT='--silent' ; shift ;;
           --lts) NVM_LTS='*' ; shift ;;
@@ -3030,8 +3023,8 @@
         else
           nvm_rc_version && has_checked_nvmrc=1
         fi
-        if [ -n "$NVM_RC_VERSION" ]; then
-          VERSION="$(nvm_version "$NVM_RC_VERSION")" ||:
+        if [ -n "${NVM_RC_VERSION-}" ]; then
+          VERSION="$(nvm_version "${NVM_RC_VERSION-}")" ||:
         fi
         unset NVM_RC_VERSION
         if [ "${VERSION:-N/A}" = 'N/A' ]; then
@@ -3042,9 +3035,9 @@
 
       if [ -z "${NVM_LTS-}" ]; then
         provided_version="$1"
-        if [ -n "$provided_version" ]; then
-          VERSION="$(nvm_version "$provided_version")" ||:
-          if [ "_${VERSION:-N/A}" = '_N/A' ] && ! nvm_is_valid_version "$provided_version"; then
+        if [ -n "${provided_version}" ]; then
+          VERSION="$(nvm_version "${provided_version}")" ||:
+          if [ "_${VERSION:-N/A}" = '_N/A' ] && ! nvm_is_valid_version "${provided_version}"; then
             provided_version=''
             if [ $has_checked_nvmrc -ne 1 ]; then
               if [ -n "${NVM_SILENT-}" ]; then
@@ -3053,7 +3046,7 @@
                 nvm_rc_version && has_checked_nvmrc=1
               fi
             fi
-            VERSION="$(nvm_version "$NVM_RC_VERSION")" ||:
+            VERSION="$(nvm_version "${NVM_RC_VERSION}")" ||:
             unset NVM_RC_VERSION
           else
             shift
@@ -3062,7 +3055,7 @@
       fi
 
       local NVM_IOJS
-      if nvm_is_iojs_version "$VERSION"; then
+      if nvm_is_iojs_version "${VERSION}"; then
         NVM_IOJS=true
       fi
 
@@ -3074,21 +3067,20 @@
         LTS_ARG="--lts=${NVM_LTS-}"
         VERSION=''
       fi
-      if [ "_$VERSION" = "_N/A" ]; then
-        nvm_ensure_version_installed "$provided_version"
-      elif [ "$NVM_IOJS" = true ]; then
-        nvm exec "${NVM_SILENT-}" "${LTS_ARG-}" "$VERSION" iojs "$@"
+      if [ "_${VERSION}" = "_N/A" ]; then
+        nvm_ensure_version_installed "${provided_version}"
+      elif [ "${NVM_IOJS}" = true ]; then
+        nvm exec "${NVM_SILENT-}" "${LTS_ARG-}" "${VERSION}" iojs "$@"
       else
-        nvm exec "${NVM_SILENT-}" "${LTS_ARG-}" "$VERSION" node "$@"
+        nvm exec "${NVM_SILENT-}" "${LTS_ARG-}" "${VERSION}" node "$@"
       fi
       EXIT_CODE="$?"
       return $EXIT_CODE
     ;;
-    "exec" )
+    "exec")
       local NVM_SILENT
       local NVM_LTS
-      while [ $# -gt 0 ]
-      do
+      while [ $# -gt 0 ]; do
         case "$1" in
           --silent) NVM_SILENT='--silent' ; shift ;;
           --lts) NVM_LTS='*' ; shift ;;
@@ -3112,53 +3104,52 @@
       provided_version="$1"
       if [ "${NVM_LTS-}" != '' ]; then
         provided_version="lts/${NVM_LTS:-*}"
-        VERSION="$provided_version"
-      elif [ -n "$provided_version" ]; then
-        VERSION="$(nvm_version "$provided_version")" ||:
-        if [ "_$VERSION" = '_N/A' ] && ! nvm_is_valid_version "$provided_version"; then
+        VERSION="${provided_version}"
+      elif [ -n "${provided_version}" ]; then
+        VERSION="$(nvm_version "${provided_version}")" ||:
+        if [ "_${VERSION}" = '_N/A' ] && ! nvm_is_valid_version "${provided_version}"; then
           if [ -n "${NVM_SILENT-}" ]; then
             nvm_rc_version >/dev/null 2>&1
           else
             nvm_rc_version
           fi
-          provided_version="$NVM_RC_VERSION"
+          provided_version="${NVM_RC_VERSION}"
           unset NVM_RC_VERSION
-          VERSION="$(nvm_version "$provided_version")" ||:
+          VERSION="$(nvm_version "${provided_version}")" ||:
         else
           shift
         fi
       fi
 
-      nvm_ensure_version_installed "$provided_version"
+      nvm_ensure_version_installed "${provided_version}"
       EXIT_CODE=$?
-      if [ "$EXIT_CODE" != "0" ]; then
+      if [ "${EXIT_CODE}" != "0" ]; then
         return $EXIT_CODE
       fi
 
       if [ -z "${NVM_SILENT-}" ]; then
         if [ "${NVM_LTS-}" = '*' ]; then
-          nvm_echo "Running node latest LTS -> $(nvm_version "$VERSION")$(nvm use --silent "$VERSION" && nvm_print_npm_version)"
+          nvm_echo "Running node latest LTS -> $(nvm_version "${VERSION}")$(nvm use --silent "${VERSION}" && nvm_print_npm_version)"
         elif [ -n "${NVM_LTS-}" ]; then
-          nvm_echo "Running node LTS \"${NVM_LTS-}\" -> $(nvm_version "$VERSION")$(nvm use --silent "$VERSION" && nvm_print_npm_version)"
-        elif nvm_is_iojs_version "$VERSION"; then
-          nvm_echo "Running io.js $(nvm_strip_iojs_prefix "$VERSION")$(nvm use --silent "$VERSION" && nvm_print_npm_version)"
+          nvm_echo "Running node LTS \"${NVM_LTS-}\" -> $(nvm_version "${VERSION}")$(nvm use --silent "${VERSION}" && nvm_print_npm_version)"
+        elif nvm_is_iojs_version "${VERSION}"; then
+          nvm_echo "Running io.js $(nvm_strip_iojs_prefix "${VERSION}")$(nvm use --silent "${VERSION}" && nvm_print_npm_version)"
         else
-          nvm_echo "Running node $VERSION$(nvm use --silent "$VERSION" && nvm_print_npm_version)"
+          nvm_echo "Running node ${VERSION}$(nvm use --silent "${VERSION}" && nvm_print_npm_version)"
         fi
       fi
-      NODE_VERSION="$VERSION" "$NVM_DIR/nvm-exec" "$@"
+      NODE_VERSION="${VERSION}" "${NVM_DIR}/nvm-exec" "$@"
     ;;
-    "ls" | "list" )
+    "ls" | "list")
       local PATTERN
       local NVM_NO_COLORS
-      while [ $# -gt 0 ]
-      do
+      while [ $# -gt 0 ]; do
         case "${1}" in
           --) ;;
           --no-colors) NVM_NO_COLORS="${1}" ;;
           --*)
             nvm_err "Unsupported option \"${1}\"."
-            return 55;
+            return 55
           ;;
           *)
             PATTERN="${PATTERN:-$1}"
@@ -3170,7 +3161,7 @@
       local NVM_LS_EXIT_CODE
       NVM_LS_OUTPUT=$(nvm_ls "${PATTERN-}")
       NVM_LS_EXIT_CODE=$?
-      NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "$NVM_LS_OUTPUT"
+      NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "${NVM_LS_OUTPUT}"
       if [ -z "${PATTERN-}" ]; then
         if [ -n "${NVM_NO_COLORS-}" ]; then
           nvm alias --no-colors
@@ -3180,12 +3171,11 @@
       fi
       return $NVM_LS_EXIT_CODE
     ;;
-    "ls-remote" | "list-remote" )
+    "ls-remote" | "list-remote")
       local NVM_LTS
       local PATTERN
       local NVM_NO_COLORS
-      while [ $# -gt 0 ]
-      do
+      while [ $# -gt 0 ]; do
         case "${1-}" in
           --) ;;
           --lts)
@@ -3197,7 +3187,7 @@
           --no-colors) NVM_NO_COLORS="${1}" ;;
           --*)
             nvm_err "Unsupported option \"${1}\"."
-            return 55;
+            return 55
           ;;
           *)
             if [ -z "${PATTERN-}" ]; then
@@ -3218,17 +3208,17 @@
       local EXIT_CODE
       NVM_OUTPUT="$(NVM_LTS="${NVM_LTS-}" nvm_remote_versions "${PATTERN}" &&:)"
       EXIT_CODE=$?
-      if [ -n "$NVM_OUTPUT" ]; then
-        NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "$NVM_OUTPUT"
+      if [ -n "${NVM_OUTPUT}" ]; then
+        NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "${NVM_OUTPUT}"
         return $EXIT_CODE
       fi
       NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "N/A"
       return 3
     ;;
-    "current" )
+    "current")
       nvm_version current
     ;;
-    "which" )
+    "which")
       local provided_version
       provided_version="${1-}"
       if [ $# -eq 0 ]; then
@@ -3248,33 +3238,33 @@
         return 127
       fi
 
-      if [ "_$VERSION" = '_system' ]; then
+      if [ "_${VERSION}" = '_system' ]; then
         if nvm_has_system_iojs >/dev/null 2>&1 || nvm_has_system_node >/dev/null 2>&1; then
           local NVM_BIN
           NVM_BIN="$(nvm use system >/dev/null 2>&1 && command which node)"
-          if [ -n "$NVM_BIN" ]; then
-            nvm_echo "$NVM_BIN"
+          if [ -n "${NVM_BIN}" ]; then
+            nvm_echo "${NVM_BIN}"
             return
           fi
           return 1
         fi
         nvm_err 'System version of node not found.'
         return 127
-      elif [ "_$VERSION" = "_∞" ]; then
+      elif [ "_${VERSION}" = "_∞" ]; then
         nvm_err "The alias \"$2\" leads to an infinite loop. Aborting."
         return 8
       fi
 
-      nvm_ensure_version_installed "$provided_version"
+      nvm_ensure_version_installed "${provided_version}"
       EXIT_CODE=$?
-      if [ "$EXIT_CODE" != "0" ]; then
+      if [ "${EXIT_CODE}" != "0" ]; then
         return $EXIT_CODE
       fi
       local NVM_VERSION_DIR
-      NVM_VERSION_DIR="$(nvm_version_path "$VERSION")"
-      nvm_echo "$NVM_VERSION_DIR/bin/node"
+      NVM_VERSION_DIR="$(nvm_version_path "${VERSION}")"
+      nvm_echo "${NVM_VERSION_DIR}/bin/node"
     ;;
-    "alias" )
+    "alias")
       local NVM_ALIAS_DIR
       NVM_ALIAS_DIR="$(nvm_alias_path)"
       local NVM_CURRENT
@@ -3287,8 +3277,7 @@
       local NVM_NO_COLORS
       ALIAS='--'
       TARGET='--'
-      while [ $# -gt 0 ]
-      do
+      while [ $# -gt 0 ]; do
         case "${1-}" in
           --) ;;
           --no-colors) NVM_NO_COLORS="${1}" ;;
@@ -3323,7 +3312,7 @@
           nvm_err "! WARNING: Version '${TARGET}' does not exist."
         fi
         nvm_make_alias "${ALIAS}" "${TARGET}"
-        NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_CURRENT="${NVM_CURRENT-}" DEFAULT=false nvm_print_formatted_alias "${ALIAS}" "${TARGET}" "$VERSION"
+        NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_CURRENT="${NVM_CURRENT-}" DEFAULT=false nvm_print_formatted_alias "${ALIAS}" "${TARGET}" "${VERSION}"
       else
         if [ "${ALIAS-}" = '--' ]; then
           unset ALIAS
@@ -3332,10 +3321,10 @@
         nvm_list_aliases "${ALIAS-}"
       fi
     ;;
-    "unalias" )
+    "unalias")
       local NVM_ALIAS_DIR
       NVM_ALIAS_DIR="$(nvm_alias_path)"
-      command mkdir -p "$NVM_ALIAS_DIR"
+      command mkdir -p "${NVM_ALIAS_DIR}"
       if [ $# -ne 1 ]; then
         >&2 nvm --help
         return 127
@@ -3344,11 +3333,11 @@
         nvm_err 'Aliases in subdirectories are not supported.'
         return 1
       fi
-      [ ! -f "$NVM_ALIAS_DIR/${1-}" ] && nvm_err "Alias ${1-} doesn't exist!" && return
+      [ ! -f "${NVM_ALIAS_DIR}/${1-}" ] && nvm_err "Alias ${1-} doesn't exist!" && return
       local NVM_ALIAS_ORIGINAL
       NVM_ALIAS_ORIGINAL="$(nvm_alias "${1}")"
-      command rm -f "$NVM_ALIAS_DIR/${1}"
-      nvm_echo "Deleted alias ${1} - restore it with \`nvm alias \"${1}\" \"$NVM_ALIAS_ORIGINAL\"\`"
+      command rm -f "${NVM_ALIAS_DIR}/${1}"
+      nvm_echo "Deleted alias ${1} - restore it with \`nvm alias \"${1}\" \"${NVM_ALIAS_ORIGINAL}\"\`"
     ;;
     "install-latest-npm")
       if [ $# -ne 0 ]; then
@@ -3358,7 +3347,7 @@
 
       nvm_install_latest_npm
     ;;
-    "reinstall-packages" | "copy-packages" )
+    "reinstall-packages" | "copy-packages")
       if [ $# -ne 1 ]; then
         >&2 nvm --help
         return 127
@@ -3367,45 +3356,45 @@
       local PROVIDED_VERSION
       PROVIDED_VERSION="${1-}"
 
-      if [ "$PROVIDED_VERSION" = "$(nvm_ls_current)" ] || [ "$(nvm_version "$PROVIDED_VERSION" ||:)" = "$(nvm_ls_current)" ]; then
+      if [ "${PROVIDED_VERSION}" = "$(nvm_ls_current)" ] || [ "$(nvm_version "${PROVIDED_VERSION}" ||:)" = "$(nvm_ls_current)" ]; then
         nvm_err 'Can not reinstall packages from the current version of node.'
         return 2
       fi
 
       local VERSION
-      if [ "_$PROVIDED_VERSION" = "_system" ]; then
+      if [ "_${PROVIDED_VERSION}" = "_system" ]; then
         if ! nvm_has_system_node && ! nvm_has_system_iojs; then
           nvm_err 'No system version of node or io.js detected.'
           return 3
         fi
         VERSION="system"
       else
-        VERSION="$(nvm_version "$PROVIDED_VERSION")" ||:
+        VERSION="$(nvm_version "${PROVIDED_VERSION}")" ||:
       fi
 
       local NPMLIST
-      NPMLIST="$(nvm_npm_global_modules "$VERSION")"
+      NPMLIST="$(nvm_npm_global_modules "${VERSION}")"
       local INSTALLS
       local LINKS
       INSTALLS="${NPMLIST%% //// *}"
       LINKS="${NPMLIST##* //// }"
 
-      nvm_echo "Reinstalling global packages from $VERSION..."
+      nvm_echo "Reinstalling global packages from ${VERSION}..."
       if [ -n "${INSTALLS}" ]; then
-        nvm_echo "$INSTALLS" | command xargs npm install -g --quiet
+        nvm_echo "${INSTALLS}" | command xargs npm install -g --quiet
       else
         nvm_echo "No installed global packages found..."
       fi
 
-      nvm_echo "Linking global packages from $VERSION..."
+      nvm_echo "Linking global packages from ${VERSION}..."
       if [ -n "${LINKS}" ]; then
         (
           set -f; IFS='
 ' # necessary to turn off variable expansion except for newlines
-          for LINK in $LINKS; do
+          for LINK in ${LINKS}; do
             set +f; unset IFS # restore variable expansion
-            if [ -n "$LINK" ]; then
-              (nvm_cd "$LINK" && npm link)
+            if [ -n "${LINK}" ]; then
+              (nvm_cd "${LINK}" && npm link)
             fi
           done
         )
@@ -3413,18 +3402,17 @@
         nvm_echo "No linked global packages found..."
       fi
     ;;
-    "clear-cache" )
-      command rm -f "$NVM_DIR/v*" "$(nvm_version_dir)" 2>/dev/null
+    "clear-cache")
+      command rm -f "${NVM_DIR}/v*" "$(nvm_version_dir)" 2>/dev/null
       nvm_echo 'nvm cache cleared.'
     ;;
-    "version" )
+    "version")
       nvm_version "${1}"
     ;;
-    "version-remote" )
+    "version-remote")
       local NVM_LTS
       local PATTERN
-      while [ $# -gt 0 ]
-      do
+      while [ $# -gt 0 ]; do
         case "${1-}" in
           --) ;;
           --lts)
@@ -3435,7 +3423,7 @@
           ;;
           --*)
             nvm_err "Unsupported option \"${1}\"."
-            return 55;
+            return 55
           ;;
           *)
             PATTERN="${PATTERN:-${1}}"
@@ -3455,10 +3443,10 @@
       esac
       NVM_VERSION_ONLY=true NVM_LTS="${NVM_LTS-}" nvm_remote_version "${PATTERN:-node}"
     ;;
-    "--version" )
+    "--version")
       nvm_echo '0.34.0'
     ;;
-    "unload" )
+    "unload")
       nvm deactivate >/dev/null 2>&1
       unset -f nvm \
         nvm_iojs_prefix nvm_node_prefix \
@@ -3495,12 +3483,12 @@
         nvm_sanitize_path nvm_has_colors nvm_process_parameters \
         node_version_has_solaris_binary iojs_version_has_solaris_binary \
         nvm_curl_libz_support nvm_command_info nvm_is_zsh \
-        > /dev/null 2>&1
+        >/dev/null 2>&1
       unset NVM_RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_IOJS_ORG_MIRROR NVM_DIR \
         NVM_CD_FLAGS NVM_BIN NVM_MAKE_JOBS \
-        > /dev/null 2>&1
+        >/dev/null 2>&1
     ;;
-    * )
+    *)
       >&2 nvm --help
       return 127
     ;;
@@ -3518,7 +3506,7 @@
 
 nvm_supports_source_options() {
   # shellcheck disable=SC1091
-  [ "_$(nvm_echo '[ $# -gt 0 ] && nvm_echo $1' | . /dev/stdin yes 2> /dev/null)" = "_yes" ]
+  [ "_$(nvm_echo '[ $# -gt 0 ] && nvm_echo $1' | . /dev/stdin yes 2>/dev/null)" = "_yes" ]
 }
 
 nvm_supports_xz() {
@@ -3532,14 +3520,12 @@
   fi
 
   # 0.12x: node v0.12.10 and later have xz
-  if nvm_version_greater_than_or_equal_to "${1}" "0.12.10" \
-    && nvm_version_greater "0.13.0" "${1}"; then
+  if nvm_version_greater_than_or_equal_to "${1}" "0.12.10" && nvm_version_greater "0.13.0" "${1}"; then
     return 0
   fi
 
   # 0.10x: node v0.10.42 and later have xz
-  if nvm_version_greater_than_or_equal_to "${1}" "0.10.42" \
-    && nvm_version_greater "0.11.0" "${1}"; then
+  if nvm_version_greater_than_or_equal_to "${1}" "0.10.42" && nvm_version_greater "0.11.0" "${1}"; then
     return 0
   fi
 
@@ -3563,10 +3549,10 @@
   local NVM_MODE
   NVM_MODE="${1-}"
   local VERSION
-  if [ "_$NVM_MODE" = '_install' ]; then
+  if [ "_${NVM_MODE}" = '_install' ]; then
     VERSION="$(nvm_alias default 2>/dev/null || nvm_echo)"
-    if [ -n "$VERSION" ]; then
-      nvm install "$VERSION" >/dev/null
+    if [ -n "${VERSION}" ]; then
+      nvm install "${VERSION}" >/dev/null
     elif nvm_rc_version >/dev/null 2>&1; then
       nvm install >/dev/null
     fi
@@ -3581,7 +3567,7 @@
     else
       nvm use --silent "${NVM_CURRENT}" >/dev/null
     fi
-  elif [ "_$NVM_MODE" != '_none' ]; then
+  elif [ "_${NVM_MODE}" != '_none' ]; then
     nvm_err 'Invalid auto mode supplied.'
     return 1
   fi
@@ -3591,8 +3577,7 @@
   local NVM_AUTO_MODE
   NVM_AUTO_MODE='use'
   if nvm_supports_source_options; then
-    while [ $# -ne 0 ]
-    do
+    while [ $# -ne 0 ]; do
       case "$1" in
         --install) NVM_AUTO_MODE='install' ;;
         --no-use) NVM_AUTO_MODE='none' ;;
@@ -3600,7 +3585,7 @@
       shift
     done
   fi
-  nvm_auto "$NVM_AUTO_MODE"
+  nvm_auto "${NVM_AUTO_MODE}"
 }
 
 nvm_process_parameters "$@"