Advertisement
Sergio_Istea

ejemplo if y uso de exit

May 3rd, 2021
79
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2.  
  3. # veo si quien ejecuta es root, en caso de no serlo pregunta un rumbo de accion
  4. # con condicionales respondemos con y o n
  5.  
  6. # verifico que quien ejecute el programa sea root, si no lo es, termina con un 'exit 1'
  7.  
  8. if [ "$(whoami)" = "root" ];then
  9.     echo "el siguiente programa va a agregar un comentario al usuario indicado"
  10.     # como la condicion devuelve true, y el comando echo ya se ejecuto, el interprete
  11.     # seguira ejecutando el resto del script, salvo lo que estan en el 'else' a continuacion
  12. else
  13.     # esto se va a ejecutar si la condicion anterior devuelve false, es decir, no soy root
  14.     # terminado el echo, se ejecuta el comando 'exit 1' para terminar el programa
  15.     # y determinar el exit status de la ejecucion de este script
  16.     # recordemos: 0 = todo bien, valor disinto de 0 el programa no termino correctamente (me refiero a este script)
  17.     echo "no sos root"
  18.     exit 1
  19. fi
  20.  
  21.  
  22. echo "Se verifica que el usuario exista..."
  23.  
  24. # con el read, en tiempo de ejecución, asignamos el valor de la variable $USUARIO, me va a a servir
  25. # para checkear su existencia
  26. read -p "Ingrese el usuario: "  USUARIO
  27.  
  28.  
  29. if grep "^$USUARIO" /etc/passwd; then
  30.     # si la condicion devuelve true, es decir existe el usuario
  31.     # se imprime el echo y el programa sigue, lo unico que no se ejecuta es lo que esta
  32.     # en el bloque 'else'
  33.     echo "El/la usuario existe"
  34. else
  35.     # si la condicion devuelve false, es por que el usuario no existe
  36.     # entoces (else... guiño guiño) se imprime el mensaje a continuacion
  37.     echo "el/la usuario no existe, se crea"
  38.     # y se crea un usuario con el valor de la variable $USUARIO
  39.     useradd $USUARIO
  40. fi
  41.  
  42. # ya se que la condicional if devuelva true o false lo que viene a continuacion se va a ejecutar igual
  43. # ya que nunca se interumpio la ejecucion del resto del script, salvo la parte en la que se testea si el usuario es root
  44.  
  45. echo "Se agrera el siguiente comentario al usuario...: 'practica de scripting'"
  46.  
  47.  
  48. usermod -c "practica de scripting" $USUARIO
  49.  
  50. exit 0
  51.  
Advertisement
RAW Paste Data Copied
Advertisement