diff --git a/install.sh b/install.sh index cd78a12..b055eee 100755 --- a/install.sh +++ b/install.sh @@ -115,6 +115,10 @@ install_nvm_as_script() { # Otherwise, an empty string is returned # nvm_detect_profile() { + if [ -n "$PROFILE" -a -f "$PROFILE" ]; then + echo "$PROFILE" + return + fi local DETECTED_PROFILE DETECTED_PROFILE='' @@ -132,9 +136,7 @@ nvm_detect_profile() { fi if [ -z "$DETECTED_PROFILE" ]; then - if [ -f "$PROFILE" ]; then - DETECTED_PROFILE="$PROFILE" - elif [ -f "$HOME/.profile" ]; then + if [ -f "$HOME/.profile" ]; then DETECTED_PROFILE="$HOME/.profile" elif [ -f "$HOME/.bashrc" ]; then DETECTED_PROFILE="$HOME/.bashrc" diff --git a/test/install_script/nvm_detect_profile b/test/install_script/nvm_detect_profile index da185e3..4ec8e43 100755 --- a/test/install_script/nvm_detect_profile +++ b/test/install_script/nvm_detect_profile @@ -31,6 +31,15 @@ _PROFILE=$(nvm_detect_profile) echo "_\$_PROFILE: _$_PROFILE" && die "nvm_detect_profile didn't pick $SHELL and $HOME/.bashrc" ) +# But $PROFILE should override +PROFILE=test_profile +_PROFILE=$(nvm_detect_profile) +[ "_$_PROFILE" = "_$PROFILE" ] || ( echo "_\$_PROFILE: _$_PROFILE" && + echo "_\$PROFILE: _$PROFILE" && + die "nvm_detect_profile didn't pick \$PROFILE" ) +unset PROFILE + + #Let's force $SHELL to be zsh SHELL="/usr/bin/zsh" @@ -40,6 +49,14 @@ _PROFILE=$(nvm_detect_profile) echo "_\$_PROFILE: _$_PROFILE" && die "nvm_detect_profile didn't pick $SHELL and $HOME/.zshrc" ) +# But $PROFILE should override +PROFILE=test_profile +_PROFILE=$(nvm_detect_profile) +[ "_$_PROFILE" = "_$PROFILE" ] || ( echo "_\$_PROFILE: _$_PROFILE" && + echo "_\$PROFILE: _$PROFILE" && + die "nvm_detect_profile didn't pick \$PROFILE" ) +unset PROFILE + # if we unset shell it looks for the files unset SHELL