Use which instead of type to detect if command exists

`type` will not confirm the file in $PATH is executable or not.
This commit is contained in:
Peter Dave Hello 2016-11-18 03:51:28 +08:00
parent 49e8068271
commit 293c6d198b
3 changed files with 4 additions and 4 deletions

View File

@ -3,7 +3,7 @@
{ # this ensures the entire script is downloaded #
nvm_has() {
type "$1" > /dev/null 2>&1
command which "${1-}" > /dev/null 2>&1
}
nvm_install_dir() {

2
nvm.sh
View File

@ -36,7 +36,7 @@ nvm_grep() {
}
nvm_has() {
type "${1-}" > /dev/null 2>&1
command which "${1-}" > /dev/null 2>&1
}
nvm_is_alias() {

View File

@ -4,9 +4,9 @@ die () { echo "$@" ; exit 1; }
\. ../../../nvm.sh
nvm_has cat && type cat > /dev/null || die 'nvm_has locates "cat" properly'
nvm_has cat && command which cat > /dev/null || die 'nvm_has locates "cat" properly'
[ "~$(nvm_has foobarbaz 2>&1)" = "~" ] || die "nvm_has does not suppress error output"
! nvm_has foobarbaz && ! type foobarbaz >/dev/null 2>&1 || die "nvm_has does not return a nonzero exit code when not found"
! nvm_has foobarbaz && ! command which foobarbaz >/dev/null 2>&1 || die "nvm_has does not return a nonzero exit code when not found"