Update install_list_asdf.sh

This commit is contained in:
Manuel Vergara 2024-03-06 16:48:59 +01:00
parent 1cc828ec3d
commit f31d48ca7a

View File

@ -10,7 +10,12 @@
# Web: https://vergaracarmona.es
#
# Definición de colores
COLOR_BLUE='\033[0;34m'
COLOR_CYAN='\033[0;36m'
COLOR_GREEN='\033[0;32m'
COLOR_RED='\033[0;31m'
COLOR_YELLOW='\033[0;33m'
COLOR_RESET='\033[0m'
# Control de salida con Ctrl + C
@ -41,26 +46,26 @@ install_asdf_version() {
local installed_versions=$(asdf list "$program" | tr -d ' ')
if [ -z "$installed_versions" ]; then
echo -e "\e[33mNo está instalada la versión $version de $program y se procede a hacerlo\e[0m"
echo -e "${COLOR_YELLOW}No está instalada la versión $version de $program y se procede a hacerlo${COLOR_RESET}"
asdf install "$program" "$version" >/dev/null 2>&1
local exit_code=$?
if [ $exit_code -eq 0 ]; then
echo -e "\e[32mInstalación exitosa: $program $version\e[0m"
echo -e "${COLOR_GREEN}Instalación exitosa: $program $version${COLOR_RESET}"
else
echo -e "\e[31mError al instalar $program $version\e[0m"
echo -e "${COLOR_RED}Error al instalar $program $version${COLOR_RESET}"
fi
else
if ! echo "$installed_versions" | grep -q "$version"; then
echo -e "\e[33mNo está instalada la versión $version de $program y se procede a hacerlo\e[0m"
echo -e "${COLOR_YELLOW}No está instalada la ${COLOR_RESET}${COLOR_CYAN}versión $version de $program${COLOR_RESET}"
asdf install "$program" "$version" >/dev/null 2>&1
local exit_code=$?
if [ $exit_code -eq 0 ]; then
echo -e "\e[32mInstalación exitosa: $program $version\e[0m"
echo -e "${COLOR_GREEN}Instalación exitosa: $program $version${COLOR_RESET}"
else
echo -e "\e[31mError al instalar $program $version\e[0m"
echo -e "${COLOR_RED}Error al instalar $program $version${COLOR_RESET}"
fi
else
echo -e "\e[32m$program ya está instalado con la versión $version\e[0m"
echo -e "${COLOR_GREEN}$program ya está instalado con la versión $version${COLOR_RESET}"
fi
fi
}
@ -72,7 +77,7 @@ configure_asdf_global() {
local current_version=$(asdf current "$program" | awk '{print $2}')
if [ "$current_version" != "$version" ]; then
asdf global "$program" "$version"
echo -e "\e[32mConfiguración global exitosa de $program $version\e[0m"
echo -e "${COLOR_GREEN}Configuración global exitosa de $program $version${COLOR_RESET}"
fi
}
@ -81,6 +86,10 @@ print_newline() {
echo ""
}
list_asdf_current() {
echo -e "${COLOR_BLUE}$(asdf current)${COLOR_RESET}"
}
# Recorre el archivo de entrada
while IFS= read -r program; do
add_asdf_plugin "$program"
@ -89,11 +98,11 @@ while IFS= read -r program; do
install_asdf_version "$program" "$latest_version"
configure_asdf_global "$program" "$latest_version"
else
echo -e "\e[31mError al obtener la última versión de $program: $latest_version\e[0m"
echo -e "${COLOR_RED}Error al obtener la última versión de $program: $latest_version${COLOR_RESET}"
fi
print_newline
done <"$input_file"
# Listar las instalaciones actuales
echo -e "\nListado de instalaciones actuales:"
echo -e "\n${COLOR_BLUE}Listado de instalaciones actuales:${COLOR_RESET}"
list_asdf_current