Explorar el Código

Añadido ayuda y parser de comandos

Guzmán Castanedo Villalba hace 6 años
padre
commit
d8af8459cc
Se han modificado 1 ficheros con 52 adiciones y 33 borrados
  1. 52 33
      userspanel.sh

+ 52 - 33
userspanel.sh

@@ -2,64 +2,83 @@
 #Guzmán Castanedo (guzman@castanedo.es) Octubre 2017
 #Licencia: GPL3 (http://www.gnu.org/licenses/gpl-3.0.html)
 
-function escalarPrivilegios {
-#Comprobar si somos root e intentar conseguir los privilegios
+function comprobarPrivilegios {
+#Comprobar si somos root.
+if [ $(id -u) -ne 0 ]; then
+	 #No somos root
+	 printf "\tERROR: No es posible obtener permisos de root.\n"
+	 exit 1
+fi
 }
 
-function menu {
-#Muestra menu y captura respuesta
-	if [ $error = false ]; then
-		clear
-	fi
-	printf "/---------------------------------------\\ \n"
-	printf "|\tADMINISTRACION DE USUARIOS:\t|\n"
-	printf "\\---------------------------------------/\n"
-	printf "\t1.\tDar de ALTA Usuario\n"
-	printf "\t2.\tCambio de Clave\n"
-	printf "\t3.\tDat de BAJA Usuario\n"
-	printf "\t4.\tBLOQUEAR Usuario\n"
-	printf "\t5.\tDESBLOQUEAR Usuario\n"
-	printf "\ts.\tDar de ALTA Usuario\n"
-	printf "\tOPCION:\t>"
-	read Opcion
-	printf "\n"
+function mostrarBienvenida {
+printf "$(basename $0) 0.1 Beta\n"
+printf "Escribir \"ayuda\" o \"help\" para obtener ayuda de los comandos\n\n"
 }
 
-escalarPrivilegios
+function leerComando {
+#Muestrar linea de comando y capturar comando.
+	printf "$(basename $0)>\t"
+	read Comando
+	#printf "\n"
+	#parser: Comando = Opcion + Opciones + Argumentos
+	Opcion=$Comando
+}
+
+#function altaUsuario {	
+#
+#}
+
+function ayuda {
+printf "Comandos:\n"
+printf "> alta\t\tDar de ALTA un nuevo usuario\n"
+printf "> cambiar\tCAMBIAR contraseña de un usuario\n"
+printf "> baja\t\tDar de BAJA un usuario\n"
+printf "> bloquear\tBLOQUEAR un usuario\n"
+printf "> desbloquear\tDESBLOQUEAR un usuario\n"
+printf "> ayuda\t\tMuestra esta ayuda\n"
+printf "\t\tPara mas ayuda escribir \"ayuda [comando]\"\n"
+printf "> salir\t\tFinaliza programa\n"
+}
+
+comprobarPrivilegios
+mostrarBienvenida
 cont=true
-error=false
 while [ $cont = true ]; do
-	menu
+	leerComando
 	case $Opcion in
-		1)
+		alta)
 			#Alta usuario
 			;;
-		2)
+		cambiar)
 			#Cambiar passwd
 			;;
-		3)
+		baja)
 			#Baja usuario
 			;;
-		4)
+		bloquear)
 			#Bloquear usuario
 			;;
-		5)
+		desbloquear)
 			#Desbloquear usuario
 			;;
-		s|S|q|Q)
+		ayuda|help)
+			#Ayuda de comandos
+			ayuda
+			;;
+		salir|s|S|quit|q|Q|exit)
 			#Salida
 			#Podreamos hacer break, pero los bucles infinitos son feos.
 			cont=false
 			;;
 		*)
 			#Opcion Incorrecta
-			clear
-			printf "\tOPCION INCORRECTA.\n"
-			error=true
-			continue
+			printf "Error de Sintaxis: Comando no valido.\n"
+			#error=true
+			#continue
 			;;
 	esac
-	error=false
+	#error=false
 done
 
 exit