Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Averiguar si soy root
- if [ $UID -ne 0 ]; then
- echo "Ejecute este programa como 'root'."
- exit 1 # cerramos el programa con 'exit status 1'
- fi
- ERR="Gestor de paquetes para 'apt'. Ejecute:\n
- \t$0 accion paquete(s)\n
- Acciones:\n
- \tadd\tInstala paquetes\n
- \tdel\tDesisnstala paquetes. Sin argumetos 'autoremove'\n
- \tupgrade\tActualiza el sistema\n"
- # test '-z' devuelve true si una cadena de caracteres es '0'
- # la comparacion es en si misma un 'test' dentro de los corchetes
- # no hace falta especificarlo
- # '-z' evalua la longitud de una cadena de caracteres
- # Si la longitud es '0' devuelve true, por lo tanto se entiende que no
- # se recibio niung argumento y muestra el error y sale del programa.
- if [ -z "$*" ]; then
- echo -e $ERR
- exit 1
- fi
- # Procesar argumentos
- # 'add'
- # Se hace una doble comparacion
- # para que sea 'true' la variable '$1' tiene que ser igual a 'add'
- # y '$#' tiene ser igual a 2
- if [[ $1 == add && $# -ge 2 ]]; then
- PKG="$(echo $* | cut -d ' ' -f 2,3,4,5,6,7,8,9)"
- apt update 1> /dev/null && apt install $PKG
- exit # sin un codigo de error la variable '$?' matiene el codigo generado por el
- # último programa ejecutado
- elif [[ $1 == del ]]; then
- if [[ $# -ge 2 ]]; then
- PKG="$(echo $* | cut -d ' ' -f 2,3,4,5,6,7,8,9)"
- apt remove $PKG
- exit
- else
- apt autoremove # si los argumentos son menores a '2'
- # solo queda el argumento 'del'
- exit
- fi
- elif [[ $1 == upgrade ]]; then
- apt update 1> /dev/null && apt upgrade
- exit
- else
- echo -e $ERR
- exit 1
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement