diff --git a/libexec/rbenv-commands b/libexec/rbenv-commands index 4c3d8456..e0843313 100755 --- a/libexec/rbenv-commands +++ b/libexec/rbenv-commands @@ -20,7 +20,7 @@ elif [ "$1" = "--no-sh" ]; then shift fi -IFS=: paths=($PATH) +IFS=: read -d '' -r -a paths <<<"$PATH" || true shopt -s nullglob diff --git a/libexec/rbenv-exec b/libexec/rbenv-exec index e05ce511..3520c9de 100755 --- a/libexec/rbenv-exec +++ b/libexec/rbenv-exec @@ -33,10 +33,9 @@ export RBENV_VERSION RBENV_COMMAND_PATH="$(rbenv-which "$RBENV_COMMAND")" RBENV_BIN_PATH="${RBENV_COMMAND_PATH%/*}" -OLDIFS="$IFS" -IFS=$'\n' scripts=(`rbenv-hooks exec`) -IFS="$OLDIFS" +IFS=$'\n' read -d '' -r -a scripts <<<"$(rbenv-hooks exec)" || true for script in "${scripts[@]}"; do + # shellcheck disable=SC1090 source "$script" done diff --git a/libexec/rbenv-hooks b/libexec/rbenv-hooks index c3d9f630..8d1f4878 100755 --- a/libexec/rbenv-hooks +++ b/libexec/rbenv-hooks @@ -21,7 +21,7 @@ if [ -z "$RBENV_COMMAND" ]; then exit 1 fi -IFS=: hook_paths=($RBENV_HOOK_PATH) +IFS=: read -r -a hook_paths <<<"$RBENV_HOOK_PATH" shopt -s nullglob for path in "${hook_paths[@]}"; do diff --git a/libexec/rbenv-init b/libexec/rbenv-init index 00e2274a..3d23f665 100755 --- a/libexec/rbenv-init +++ b/libexec/rbenv-init @@ -126,7 +126,8 @@ if [ -z "$no_rehash" ]; then echo 'command rbenv rehash 2>/dev/null' fi -commands=(`rbenv-commands --sh`) +IFS=$'\n' read -d '' -r -a commands <<<"$(rbenv-commands --sh)" || true + case "$shell" in fish ) cat <