es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo rastrear errores de script de bash al instalar paquetes?

He escrito un script utilizando un script bash que instalará algunos paquetes. Si no puede instalar algunos paquetes, quiero hacer un seguimiento de esos paquetes, ¿cómo puedo hacer eso?


#!/bin/bash curlInstall(){ echo ".........................instalando curl........................."; update; sudo apt install curl; curl; echo ".........................instalación de curl terminada........................."; echo "verificación de la versión de curl: "; curl --version; } gitInstall(){ echo ".........................instalando git........................."; sudo apt install git-all; echo ".........................instalación de git terminada........................."; } vscode(){ echo ".........................instalando vscode........................."; sudo snap install --classic code; echo ".........................instalación de vscode terminada........................."; } commands[0]="curlInstall"; commands[1]="gitInstall"; commands[2]="vscode"; for item in ${commands[@]} do $item done
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para hacer un seguimiento de los paquetes que no se pudieron instalar, puedes redirigir la salida de error a un archivo de registro. Modifica el comando que instala el paquete para redirigir la salida de error a un archivo de registro de esta manera:

    sudo apt install curl 2>> install_error.log;
    

    Aquí, 2 representa el descriptor de archivo de error estándar. El operador >> redirige la salida stderr al archivo especificado. El archivo install_error.log se creará en el mismo directorio donde se ejecuta el script.

    También puedes modificar el bucle para mostrar el mensaje de error en la consola, de la siguiente manera:

    for item in ${commands[@]}
      do
        if ! $item
        then
          echo "Error: Fallo al instalar el paquete $item" 1>&2
        fi
    done
    

    Esto mostrará el mensaje de error en el descriptor de archivo de error estándar (1>&2) si la instalación de un paquete falla.

    Estas modificaciones te ayudarán a rastrear qué paquetes no se pudieron instalar y te permitirán tomar las medidas necesarias para solucionar los problemas de instalación.

Comments are closed.