¿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
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:
Aquí,
2
representa el descriptor de archivo de error estándar. El operador>>
redirige la salida stderr al archivo especificado. El archivoinstall_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:
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.