[ADDED] Script para instalar Zettlr Markdown Editor
- Nuevo script zettlr_install.sh con soporte multiplataforma - Detecta automáticamente el SO y usa el método de instalación adecuado - Obtiene la última versión disponible desde GitHub - Incluye opciones para instalación y desinstalación - Soporta Ubuntu/Debian, Fedora/RHEL, Arch Linux, macOS y FreeBSD - Utiliza diálogos interactivos cuando están disponibles - Limpia configuraciones al desinstalar 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
927216c7ee
commit
bb37b6630d
1 changed files with 516 additions and 0 deletions
516
bin/zettlr_install.sh
Executable file
516
bin/zettlr_install.sh
Executable file
|
@ -0,0 +1,516 @@
|
|||
#!/bin/bash
|
||||
#Script : zettlr_install.sh
|
||||
#Apps : MRDEVS TOOLS
|
||||
#Description : Instala Zettlr Markdown Editor con soporte multiplataforma
|
||||
#Author : Cortana Rosero One <cortana@rosero.one>
|
||||
#Generated : Created by Claude Code (claude-3-7-sonnet-20250219)
|
||||
#Created : 2025/04/04 12:00:00
|
||||
#Modified : 2025/04/04 12:00:00
|
||||
#Version : 1.3.1
|
||||
#Use Notes : Ejecutar sin parámetros para instalación interactiva
|
||||
# -u para desinstalar
|
||||
#==============================================================================
|
||||
# Derechos de Autor 2025 Mauro Rosero P. <mauro@rosero.one>
|
||||
#==============================================================================
|
||||
# Este programa es software libre: usted puede redistribuirlo y/o modificarlo
|
||||
# bajo los términos de la Licencia Pública Affero General de GNU tal como
|
||||
# lo publica la Free Software Foundation, ya sea la versión 3 de la licencia,
|
||||
# o (a su elección) cualquier versión posterior.
|
||||
#
|
||||
# Este programa se distribuye con la esperanza de que sea útil,
|
||||
# pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
|
||||
# COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
|
||||
# Licencia Pública Affero General de GNU para obtener más detalles.
|
||||
#
|
||||
# Debería haber recibido una copia de la Licencia Pública Affero General
|
||||
# junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>.
|
||||
|
||||
# Configuración inicial
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
BIN_BASE="bin"
|
||||
BIN_LIBS="lib"
|
||||
BIN_MESG="msg"
|
||||
BIN_LANG="head.es"
|
||||
BIN_CFGS="config"
|
||||
|
||||
# Leer DEVSPATH desde el archivo de configuración o usar "devs" por defecto
|
||||
if [ -f "$SCRIPT_DIR/$BIN_CFGS/devspath.dat" ]; then
|
||||
DEVSPATH=$(cat "$SCRIPT_DIR/$BIN_CFGS/devspath.dat")
|
||||
else
|
||||
DEVSPATH="devs"
|
||||
fi
|
||||
|
||||
# Cargar bibliotecas comunes
|
||||
if [ -f "$SCRIPT_DIR/$BIN_LIBS/base.lib" ]; then
|
||||
source "$SCRIPT_DIR/$BIN_LIBS/base.lib"
|
||||
else
|
||||
echo "Error: No se encontró la biblioteca base.lib"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Cargar mensajes en español
|
||||
if [ -f "$SCRIPT_DIR/$BIN_MESG/$BIN_LANG" ]; then
|
||||
source "$SCRIPT_DIR/$BIN_MESG/$BIN_LANG"
|
||||
else
|
||||
echo "Error: No se encontraron los archivos de mensajes"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Verificar si se está solicitando la desinstalación
|
||||
UNINSTALL=0
|
||||
if [ "$1" = "-u" ]; then
|
||||
UNINSTALL=1
|
||||
fi
|
||||
|
||||
# Definir la versión y URLs
|
||||
ZETTLR_VERSION="3.0.3"
|
||||
GITHUB_API_URL="https://api.github.com/repos/Zettlr/Zettlr/releases/latest"
|
||||
|
||||
# Función para obtener la última versión de Zettlr desde GitHub
|
||||
get_latest_version() {
|
||||
if command -v curl &>/dev/null; then
|
||||
ZETTLR_LATEST_VERSION=$(curl -s $GITHUB_API_URL | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c 2-)
|
||||
if [ -n "$ZETTLR_LATEST_VERSION" ]; then
|
||||
ZETTLR_VERSION=$ZETTLR_LATEST_VERSION
|
||||
fi
|
||||
fi
|
||||
echo "Versión a instalar: $ZETTLR_VERSION"
|
||||
}
|
||||
|
||||
# Función para detectar el sistema operativo
|
||||
detect_os() {
|
||||
if [ -f /etc/os-release ]; then
|
||||
. /etc/os-release
|
||||
OS=$NAME
|
||||
VER=$VERSION_ID
|
||||
elif [ -f /etc/lsb-release ]; then
|
||||
. /etc/lsb-release
|
||||
OS=$DISTRIB_ID
|
||||
VER=$DISTRIB_RELEASE
|
||||
elif [ -f /etc/debian_version ]; then
|
||||
OS="Debian"
|
||||
VER=$(cat /etc/debian_version)
|
||||
elif [ -f /etc/redhat-release ]; then
|
||||
OS=$(cat /etc/redhat-release | cut -d ' ' -f 1)
|
||||
VER=$(cat /etc/redhat-release | grep -oE '[0-9]+\.[0-9]+')
|
||||
elif [ "$(uname)" == "Darwin" ]; then
|
||||
OS="macOS"
|
||||
VER=$(sw_vers -productVersion)
|
||||
elif [ "$(uname)" == "FreeBSD" ]; then
|
||||
OS="FreeBSD"
|
||||
VER=$(uname -r)
|
||||
else
|
||||
OS="Unknown"
|
||||
VER="Unknown"
|
||||
fi
|
||||
|
||||
echo "$OS"
|
||||
}
|
||||
|
||||
# Función para obtener la arquitectura del sistema
|
||||
get_arch() {
|
||||
ARCH=$(uname -m)
|
||||
|
||||
# Normalizar la arquitectura
|
||||
if [ "$ARCH" = "x86_64" ]; then
|
||||
ARCH="amd64"
|
||||
elif [[ "$ARCH" == "arm"* ]] || [ "$ARCH" = "aarch64" ]; then
|
||||
ARCH="arm64"
|
||||
else
|
||||
ARCH="i386"
|
||||
fi
|
||||
|
||||
echo $ARCH
|
||||
}
|
||||
|
||||
# Función para instalar Zettlr en sistemas basados en Debian/Ubuntu
|
||||
install_zettlr_debian() {
|
||||
local arch=$(get_arch)
|
||||
|
||||
echo -e "\n${head_info}: Instalando dependencias necesarias..."
|
||||
sudo apt update
|
||||
sudo apt install -y wget
|
||||
|
||||
echo -e "\n${head_info}: Descargando Zettlr versión $ZETTLR_VERSION para $arch..."
|
||||
|
||||
if [ "$arch" = "amd64" ]; then
|
||||
wget -O /tmp/zettlr.deb "https://github.com/Zettlr/Zettlr/releases/download/v${ZETTLR_VERSION}/Zettlr-${ZETTLR_VERSION}-amd64.deb"
|
||||
elif [ "$arch" = "arm64" ]; then
|
||||
wget -O /tmp/zettlr.deb "https://github.com/Zettlr/Zettlr/releases/download/v${ZETTLR_VERSION}/Zettlr-${ZETTLR_VERSION}-arm64.deb"
|
||||
else
|
||||
echo -e "\n${head_error}: Arquitectura $arch no soportada para Zettlr."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo -e "\n${head_info}: Instalando Zettlr..."
|
||||
sudo apt install -y /tmp/zettlr.deb
|
||||
rm -f /tmp/zettlr.deb
|
||||
|
||||
# Verificar la instalación
|
||||
if command -v zettlr &>/dev/null || [ -f /usr/bin/zettlr ] || [ -f /opt/Zettlr/zettlr ]; then
|
||||
echo -e "\n${head_success}: Zettlr ha sido instalado correctamente."
|
||||
return 0
|
||||
else
|
||||
echo -e "\n${head_error}: No se pudo instalar Zettlr."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Función para desinstalar Zettlr en sistemas basados en Debian/Ubuntu
|
||||
uninstall_zettlr_debian() {
|
||||
echo -e "\n${head_info}: Desinstalando Zettlr..."
|
||||
sudo apt remove --purge -y zettlr
|
||||
sudo apt autoremove -y
|
||||
|
||||
# Eliminar archivos de configuración residuales
|
||||
echo -e "\n${head_info}: Limpiando archivos de configuración..."
|
||||
rm -rf ~/.config/Zettlr
|
||||
|
||||
echo -e "\n${head_success}: Zettlr ha sido desinstalado correctamente."
|
||||
return 0
|
||||
}
|
||||
|
||||
# Función para instalar Zettlr en sistemas basados en Red Hat
|
||||
install_zettlr_redhat() {
|
||||
local arch=$(get_arch)
|
||||
|
||||
echo -e "\n${head_info}: Instalando dependencias necesarias..."
|
||||
sudo dnf check-update
|
||||
sudo dnf install -y wget
|
||||
|
||||
echo -e "\n${head_info}: Descargando Zettlr versión $ZETTLR_VERSION para $arch..."
|
||||
|
||||
if [ "$arch" = "amd64" ]; then
|
||||
wget -O /tmp/zettlr.rpm "https://github.com/Zettlr/Zettlr/releases/download/v${ZETTLR_VERSION}/Zettlr-${ZETTLR_VERSION}.x86_64.rpm"
|
||||
elif [ "$arch" = "arm64" ]; then
|
||||
wget -O /tmp/zettlr.rpm "https://github.com/Zettlr/Zettlr/releases/download/v${ZETTLR_VERSION}/Zettlr-${ZETTLR_VERSION}.arm64.rpm"
|
||||
else
|
||||
echo -e "\n${head_error}: Arquitectura $arch no soportada para Zettlr."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo -e "\n${head_info}: Instalando Zettlr..."
|
||||
sudo dnf install -y /tmp/zettlr.rpm
|
||||
rm -f /tmp/zettlr.rpm
|
||||
|
||||
# Verificar la instalación
|
||||
if command -v zettlr &>/dev/null || [ -f /usr/bin/zettlr ] || [ -f /opt/Zettlr/zettlr ]; then
|
||||
echo -e "\n${head_success}: Zettlr ha sido instalado correctamente."
|
||||
return 0
|
||||
else
|
||||
echo -e "\n${head_error}: No se pudo instalar Zettlr."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Función para desinstalar Zettlr en sistemas basados en Red Hat
|
||||
uninstall_zettlr_redhat() {
|
||||
echo -e "\n${head_info}: Desinstalando Zettlr..."
|
||||
sudo dnf remove -y zettlr
|
||||
|
||||
# Eliminar archivos de configuración residuales
|
||||
echo -e "\n${head_info}: Limpiando archivos de configuración..."
|
||||
rm -rf ~/.config/Zettlr
|
||||
|
||||
echo -e "\n${head_success}: Zettlr ha sido desinstalado correctamente."
|
||||
return 0
|
||||
}
|
||||
|
||||
# Función para instalar Zettlr en Arch Linux
|
||||
install_zettlr_arch() {
|
||||
echo -e "\n${head_info}: Actualizando repositorios..."
|
||||
sudo pacman -Sy
|
||||
|
||||
echo -e "\n${head_info}: Instalando dependencias necesarias..."
|
||||
sudo pacman -S --needed --noconfirm base-devel git
|
||||
|
||||
# Verificar si yay está instalado
|
||||
if ! command -v yay &>/dev/null; then
|
||||
echo -e "\n${head_info}: Instalando yay (AUR helper)..."
|
||||
TMP_DIR=$(mktemp -d)
|
||||
cd "$TMP_DIR"
|
||||
git clone https://aur.archlinux.org/yay.git
|
||||
cd yay
|
||||
makepkg -si --noconfirm
|
||||
cd
|
||||
rm -rf "$TMP_DIR"
|
||||
fi
|
||||
|
||||
echo -e "\n${head_info}: Instalando Zettlr desde AUR..."
|
||||
yay -S --noconfirm zettlr-bin
|
||||
|
||||
# Verificar la instalación
|
||||
if command -v zettlr &>/dev/null || [ -f /usr/bin/zettlr ]; then
|
||||
echo -e "\n${head_success}: Zettlr ha sido instalado correctamente."
|
||||
return 0
|
||||
else
|
||||
echo -e "\n${head_error}: No se pudo instalar Zettlr."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Función para desinstalar Zettlr en Arch Linux
|
||||
uninstall_zettlr_arch() {
|
||||
echo -e "\n${head_info}: Desinstalando Zettlr..."
|
||||
if pacman -Qi zettlr-bin &>/dev/null; then
|
||||
sudo pacman -R --noconfirm zettlr-bin
|
||||
elif pacman -Qi zettlr &>/dev/null; then
|
||||
sudo pacman -R --noconfirm zettlr
|
||||
fi
|
||||
|
||||
# Eliminar archivos de configuración residuales
|
||||
echo -e "\n${head_info}: Limpiando archivos de configuración..."
|
||||
rm -rf ~/.config/Zettlr
|
||||
|
||||
echo -e "\n${head_success}: Zettlr ha sido desinstalado correctamente."
|
||||
return 0
|
||||
}
|
||||
|
||||
# Función para instalar Zettlr en macOS
|
||||
install_zettlr_macos() {
|
||||
echo -e "\n${head_info}: Verificando si Homebrew está instalado..."
|
||||
|
||||
if ! command -v brew &>/dev/null; then
|
||||
echo -e "\n${head_info}: Instalando Homebrew..."
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
fi
|
||||
|
||||
echo -e "\n${head_info}: Instalando Zettlr mediante Homebrew..."
|
||||
brew install --cask zettlr
|
||||
|
||||
# Verificar la instalación
|
||||
if [ -d "/Applications/Zettlr.app" ]; then
|
||||
echo -e "\n${head_success}: Zettlr ha sido instalado correctamente."
|
||||
return 0
|
||||
else
|
||||
echo -e "\n${head_error}: No se pudo instalar Zettlr."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Función para desinstalar Zettlr en macOS
|
||||
uninstall_zettlr_macos() {
|
||||
echo -e "\n${head_info}: Desinstalando Zettlr..."
|
||||
|
||||
if command -v brew &>/dev/null; then
|
||||
brew uninstall --cask zettlr
|
||||
fi
|
||||
|
||||
# Eliminar la aplicación manualmente si brew no funcionó
|
||||
if [ -d "/Applications/Zettlr.app" ]; then
|
||||
rm -rf "/Applications/Zettlr.app"
|
||||
fi
|
||||
|
||||
# Eliminar archivos de configuración
|
||||
rm -rf ~/Library/Application\ Support/Zettlr
|
||||
|
||||
echo -e "\n${head_success}: Zettlr ha sido desinstalado correctamente."
|
||||
return 0
|
||||
}
|
||||
|
||||
# Función para instalar Zettlr en FreeBSD
|
||||
install_zettlr_freebsd() {
|
||||
echo -e "\n${head_info}: FreeBSD no tiene soporte oficial para Zettlr."
|
||||
echo -e "${head_info}: Se puede intentar utilizar la versión AppImage o la instalación manual."
|
||||
|
||||
local arch=$(get_arch)
|
||||
if [ "$arch" = "amd64" ]; then
|
||||
echo -e "\n${head_info}: Descargando AppImage de Zettlr..."
|
||||
fetch -o /tmp/Zettlr.AppImage "https://github.com/Zettlr/Zettlr/releases/download/v${ZETTLR_VERSION}/Zettlr-${ZETTLR_VERSION}-x86_64.AppImage"
|
||||
|
||||
chmod +x /tmp/Zettlr.AppImage
|
||||
mkdir -p "$HOME/Applications"
|
||||
mv /tmp/Zettlr.AppImage "$HOME/Applications/"
|
||||
|
||||
echo -e "\n${head_info}: Creando enlace simbólico..."
|
||||
mkdir -p "$HOME/bin"
|
||||
ln -sf "$HOME/Applications/Zettlr.AppImage" "$HOME/bin/zettlr"
|
||||
|
||||
echo -e "\n${head_success}: Zettlr ha sido instalado en $HOME/Applications/Zettlr.AppImage"
|
||||
echo -e "${head_info}: Para ejecutar Zettlr, use: $HOME/bin/zettlr"
|
||||
return 0
|
||||
else
|
||||
echo -e "\n${head_error}: Arquitectura $arch no soportada para Zettlr en FreeBSD."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Función para desinstalar Zettlr en FreeBSD
|
||||
uninstall_zettlr_freebsd() {
|
||||
echo -e "\n${head_info}: Desinstalando Zettlr..."
|
||||
|
||||
# Eliminar AppImage
|
||||
if [ -f "$HOME/Applications/Zettlr.AppImage" ]; then
|
||||
rm -f "$HOME/Applications/Zettlr.AppImage"
|
||||
fi
|
||||
|
||||
# Eliminar enlace simbólico
|
||||
if [ -L "$HOME/bin/zettlr" ]; then
|
||||
rm -f "$HOME/bin/zettlr"
|
||||
fi
|
||||
|
||||
# Eliminar archivos de configuración
|
||||
rm -rf "$HOME/.config/Zettlr"
|
||||
|
||||
echo -e "\n${head_success}: Zettlr ha sido desinstalado correctamente."
|
||||
return 0
|
||||
}
|
||||
|
||||
# Función principal para instalar Zettlr
|
||||
install_zettlr() {
|
||||
local os=$(detect_os)
|
||||
local result=0
|
||||
|
||||
# Obtener la última versión disponible
|
||||
get_latest_version
|
||||
|
||||
echo -e "\n${head_info}: Sistema operativo detectado: ${os}"
|
||||
|
||||
# Instalar según el sistema operativo
|
||||
case "$os" in
|
||||
*"Ubuntu"*|*"Debian"*|*"Linux Mint"*|*"Pop!_OS"*|*"elementary OS"*)
|
||||
install_zettlr_debian
|
||||
result=$?
|
||||
;;
|
||||
*"Fedora"*|*"Red Hat"*|*"CentOS"*|*"Rocky"*|*"AlmaLinux"*|*"Oracle Linux"*)
|
||||
install_zettlr_redhat
|
||||
result=$?
|
||||
;;
|
||||
*"Arch"*|*"Manjaro"*|*"EndeavourOS"*|*"Garuda"*)
|
||||
install_zettlr_arch
|
||||
result=$?
|
||||
;;
|
||||
*"macOS"*)
|
||||
install_zettlr_macos
|
||||
result=$?
|
||||
;;
|
||||
*"FreeBSD"*)
|
||||
install_zettlr_freebsd
|
||||
result=$?
|
||||
;;
|
||||
*)
|
||||
echo -e "\n${head_error}: ${os_nofound}"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Si la instalación fue exitosa, mostrar información adicional
|
||||
if [ $result -eq 0 ]; then
|
||||
echo -e "\n${head_info}: Información de Zettlr:"
|
||||
echo -e " - Zettlr es un editor Markdown moderno con enfoque académico"
|
||||
echo -e " - Incluye características como editor Markdown WYSIWYG, soporte para Zettelkasten"
|
||||
echo -e " - Integración con Pandoc y LaTeX para exportación de documentos"
|
||||
echo -e " - Soporta Markdown, Citas, Referencias y más"
|
||||
echo -e " - Sitio web oficial: https://www.zettlr.com/"
|
||||
fi
|
||||
|
||||
return $result
|
||||
}
|
||||
|
||||
# Función principal para desinstalar Zettlr
|
||||
uninstall_zettlr() {
|
||||
local os=$(detect_os)
|
||||
local result=0
|
||||
|
||||
echo -e "\n${head_info}: Sistema operativo detectado: ${os}"
|
||||
|
||||
# Mostrar diálogo de confirmación
|
||||
if command -v dialog &>/dev/null; then
|
||||
dialog --title "Confirmación" --yesno "¿Está seguro que desea desinstalar Zettlr?" 8 60
|
||||
if [ $? -ne 0 ]; then
|
||||
echo -e "\n${head_info}: Desinstalación cancelada por el usuario."
|
||||
return 0
|
||||
fi
|
||||
else
|
||||
read -p "¿Está seguro que desea desinstalar Zettlr? (s/n): " CONFIRM
|
||||
if [[ ! "$CONFIRM" =~ ^[Ss]$ ]]; then
|
||||
echo -e "\n${head_info}: Desinstalación cancelada por el usuario."
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# Desinstalar según el sistema operativo
|
||||
case "$os" in
|
||||
*"Ubuntu"*|*"Debian"*|*"Linux Mint"*|*"Pop!_OS"*|*"elementary OS"*)
|
||||
uninstall_zettlr_debian
|
||||
result=$?
|
||||
;;
|
||||
*"Fedora"*|*"Red Hat"*|*"CentOS"*|*"Rocky"*|*"AlmaLinux"*|*"Oracle Linux"*)
|
||||
uninstall_zettlr_redhat
|
||||
result=$?
|
||||
;;
|
||||
*"Arch"*|*"Manjaro"*|*"EndeavourOS"*|*"Garuda"*)
|
||||
uninstall_zettlr_arch
|
||||
result=$?
|
||||
;;
|
||||
*"macOS"*)
|
||||
uninstall_zettlr_macos
|
||||
result=$?
|
||||
;;
|
||||
*"FreeBSD"*)
|
||||
uninstall_zettlr_freebsd
|
||||
result=$?
|
||||
;;
|
||||
*)
|
||||
echo -e "\n${head_error}: ${os_nofound}"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
return $result
|
||||
}
|
||||
|
||||
# Mostrar encabezado
|
||||
echo -e "\n=== Instalación de Zettlr Markdown Editor ==="
|
||||
|
||||
# Verificar si Zettlr ya está instalado
|
||||
ZETTLR_INSTALLED=0
|
||||
if command -v zettlr &>/dev/null || [ -f /usr/bin/zettlr ] || [ -f /opt/Zettlr/zettlr ] || [ -d "/Applications/Zettlr.app" ]; then
|
||||
ZETTLR_INSTALLED=1
|
||||
echo -e "\n${head_info}: Zettlr ya está instalado en el sistema."
|
||||
fi
|
||||
|
||||
# Determinar acción a realizar
|
||||
if [ $UNINSTALL -eq 1 ]; then
|
||||
# Desinstalar si está instalado
|
||||
if [ $ZETTLR_INSTALLED -eq 1 ]; then
|
||||
uninstall_zettlr
|
||||
else
|
||||
echo -e "\n${head_info}: Zettlr no está instalado. Nada que desinstalar."
|
||||
fi
|
||||
else
|
||||
# Instalar o reinstalar
|
||||
if [ $ZETTLR_INSTALLED -eq 1 ]; then
|
||||
# Preguntar si desea reinstalar
|
||||
if command -v dialog &>/dev/null; then
|
||||
dialog --title "Confirmación" --yesno "Zettlr ya está instalado. ¿Desea reinstalarlo?" 8 60
|
||||
if [ $? -eq 0 ]; then
|
||||
uninstall_zettlr && install_zettlr
|
||||
fi
|
||||
else
|
||||
read -p "Zettlr ya está instalado. ¿Desea reinstalarlo? (s/n): " REINSTALL
|
||||
if [[ "$REINSTALL" =~ ^[Ss]$ ]]; then
|
||||
uninstall_zettlr && install_zettlr
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# Preguntar si desea instalar
|
||||
if command -v dialog &>/dev/null; then
|
||||
dialog --title "Confirmación" --yesno "¿Desea instalar Zettlr Markdown Editor?" 8 60
|
||||
if [ $? -eq 0 ]; then
|
||||
install_zettlr
|
||||
else
|
||||
echo -e "\n${head_info}: Instalación cancelada por el usuario."
|
||||
fi
|
||||
else
|
||||
read -p "¿Desea instalar Zettlr Markdown Editor? (s/n): " CONFIRM
|
||||
if [[ "$CONFIRM" =~ ^[Ss]$ ]]; then
|
||||
install_zettlr
|
||||
else
|
||||
echo -e "\n${head_info}: Instalación cancelada por el usuario."
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "\n=== Proceso Finalizado ==="
|
Loading…
Reference in a new issue