Browse Source

[Fix] attempt to fix a bug in bash 3.2, fixed in 4.4, that improperly exits on `-e` in a test.

See https://gist.github.com/ljharb/6e70a79ac5fcf11a8b9de654a88642aa for details.
Jordan Harband 6 years ago
parent
commit
58d0933f72
No known key found for this signature in database
GPG Key ID: 64A196AEE0916D55
  1. 9
      nvm.sh

9
nvm.sh

@ -2300,7 +2300,14 @@ nvm() { @@ -2300,7 +2300,14 @@ nvm() {
local DEFAULT_IFS
DEFAULT_IFS=" $(nvm_echo t | command tr t \\t)
"
if [ "${IFS}" != "${DEFAULT_IFS}" ]; then
if [ "${-#*e}" != "$-" ]; then
set +e
local EXIT_CODE
IFS="${DEFAULT_IFS}" nvm "$@"
EXIT_CODE=$?
set -e
return $EXIT_CODE
elif [ "${IFS}" != "${DEFAULT_IFS}" ]; then
IFS="${DEFAULT_IFS}" nvm "$@"
return $?
fi

Loading…
Cancel
Save