Add bash strict mode to lib/commands/install.sh

This commit is contained in:
Trevor Brown 2019-05-11 17:34:36 -04:00
parent b1ec17870a
commit 547357a1d5
2 changed files with 19 additions and 11 deletions

View File

@ -1,3 +1,6 @@
set -o nounset -o pipefail -o errexit
IFS=$'\t\n' # Stricter IFS settings
handle_failure() {
local install_path="$1"
rm -rf "$install_path"
@ -11,8 +14,8 @@ handle_cancel() {
}
install_command() {
local plugin_name=$1
local full_version=$2
local plugin_name=${1:-}
local full_version=${2:-}
if [ "$plugin_name" = "" ] && [ "$full_version" = "" ]; then
install_local_tool_versions
@ -41,14 +44,19 @@ install_local_tool_versions() {
asdf_versions_path=$(find_tool_versions)
if [ -f "${asdf_versions_path}" ]; then
while IFS= read -r tool_line; do
IFS=' ' read -r -a tool_info <<< "$tool_line"
local tool_name
tool_name=$(echo "${tool_info[0]}" | xargs)
local tool_version
tool_version=$(echo "${tool_info[1]}" | xargs)
if [ -n "${tool_line:-}" ]; then
local tool_info
IFS=' ' read -r -a tool_info <<< "$tool_line"
if [ -n "${tool_info:-}" ]; then
local tool_name
tool_name=$(echo "${tool_info[0]}" | xargs)
local tool_version
tool_version=$(echo "${tool_info[1]}" | xargs)
if ! [[ -z "$tool_name" || -z "$tool_version" ]]; then
install_tool_version "$tool_name" "$tool_version"
if ! [[ -z "$tool_name" || -z "$tool_version" ]]; then
install_tool_version "$tool_name" "$tool_version"
fi
fi
fi
done <<<"$(strip_tool_version_comments "$asdf_versions_path")"
else

View File

@ -104,7 +104,7 @@ check_if_version_exists() {
}
get_plugin_path() {
echo "$(asdf_data_dir)/plugins/$1"
echo "$(asdf_data_dir)/plugins/${1:-}"
}
display_error() {
@ -153,7 +153,7 @@ find_version() {
local plugin_path
plugin_path=$(get_plugin_path "$plugin_name")
local legacy_config
legacy_config=$(get_asdf_config_value "legacy_version_file")
legacy_config=$(get_asdf_config_value "legacy_version_file" || true)
local legacy_list_filenames_script
legacy_list_filenames_script="${plugin_path}/bin/list-legacy-filenames"
local legacy_filenames=""