#!/bin/bash
printmenu(){	
menuselect=1
#bucle principal
while true
do
	#fijar un límite del menu
if [ $menuselect -gt $maxmenu ];then
	let menuselect=1
elif [ $menuselect -lt 1 ]; then
	let menuselect=$maxmenu
fi
#printmenu
clear
echo "$title"
for (( menuprint=1; menuprint<=$maxmenu; menuprint++ ))
do
	if [ $menuprint = $menuselect ]; then
		echo -n "-->"
	fi
	case $menuprint in
		1)
			echo "	$opt1"
			;;
		2)
			echo "	$opt2"
			;;
		3)
			echo "	$opt3"
			;;
		4)
			echo "	$opt4"
			;;
		5)
			echo "	$opt5"
			;;
		6)
			echo "	$opt6"
			;;
		7)
			echo "	$opt7"
			;;
		8)
			echo "	$opt8"
			;;
		9)
			echo "	$opt9"
			;;
		10)
			echo "	$opt10"
	esac
done
#Movimiento
read -n 3 -p "Usa las flechas para moverte por el menú " menuMovement
case $menuMovement in
	*A)
		((menuselect--))
		;;
	*B)
		((menuselect++))
		;;
	"")
		echo "Seleccionado: $menuselect"
		break
		;;
	*)
		;;
esac
done
}
if [ "$1" = "-h" ]; then
echo "1) Detonar Bomba
2) Detonar Auto-Bomba (x125)
3) Borrar Bomba del sistema
4) Generar trash.txt
5) Borrar trash.txt
6) Generar dir <<sas>>
7) Borrar dir <<sas>>
8) Borrar restos (trash and sas)
9) Editar Bomb4Menu (vim)
10) Cerrar Bomb4Menu
-l Listar Relacion Copias/espacio
-h Mostrar esta ayuda"
exit
elif [ "$1" = "-l" ]; then
	echo "(Max 3 dígitos, 130 Copias)
Relacion Copias/Espacio ocupado
	001 --> 462.0 MB
	005 --> 2.310 GB
	010 --> 4.620 GB
	050 --> 23.10 GB (Default)
	100 --> 46.20 GB
	130 --> 59.00 GB"
	exit
fi
clear
if [ -f trash_gen.txt ]
then echo "detectado trash_gen.txt.
Este archivo era necesario en versiones antiguas, sin embargo ya no es necesario.
Se recomienda Borrarlo"
echo "desea borrar archivos antiguos (trash_gen.txt)"
echo "(s/n)"
read rmtg
case $rmtg in
	s)
		rm trash_gen.txt
		echo "Se ha Borrado trash_gen.txt"
		;;
	n)
		echo "Ignorando archivos antiguos (trash_gen.txt)"
		;;
	esac
fi
if [ -f dir_gen.txt ]
then echo "detectado dir_gen.txt
Este archivo era necesario en versiones antiguas, sin embargo ya no es necesario.
Se recomienda Borrarlo"
echo "desea borrar archivos antiguos (dir_gen.txt)"
echo "(s/n)"
read rmdg
case $rmdg in
	s)
		rm dir_gen.txt
		echo "Se ha Borrado dir_gen.txt"
		;;
	n)
		echo "Ignorando archivos antiguos (dir_gen.txt)"
		;;
esac
fi
if [ "$1" = "" ]; then
	clear
	echo "Binevenido a PowerBomb Menu"
	sleep 0.5
	#Cambiar versión del programa #Cambiar versión del programa #Cambiar versión del programa
	version="4.0"
	echo "Versión del programa: \"BombMenu $version Ultimate\""
	sleep 0.5
	if [ -f trash.txt ]
	then echo "trash.txt detectado"
	fi
	if [ -d sas ]
	then echo "sas/ detectado"
	fi
	sleep 0.7
	read -p "Pulsa INTRO para comenzar"
	title="Elige una Opción"
	opt1="Detonar Bomba"
	opt2="Detonar Auto-Bomba (x125)"
	opt3="Borrar Bomba del sistema"
	opt4="Generar trash.txt"
	opt5="Borrar trash.txt"
	opt6="Generar dir <<sas>>"
	opt7="Borrar dir <<sas>>"
	opt8="Borrar restos (trash and sas)"
	opt9="Editar Bomb4Menu (vim)"
	opt10="Cerrar Bomb4Menu"
	maxmenu=10
	printmenu
else
	menuselect=$1
fi
case $menuselect in
	1) #lethal_command copiado
		echo "Bomb has been planted"
sleep 1
if [ ! -f trash.txt ]
then
        touch trash.txt
i=1
while [ $i -le 10 ]
do
echo>>trash.txt sas $(cat trash.txt trash.txt trash.txt trash.txt trash.txt)
echo "Copia Exponencial $i terminada."
((i++))
done
echo "Generados $(du -sh trash.txt | cut -d 't' -f1 )"
fi
echo "Procediendo con la generación de directorios y el copiado de archivos..."
sleep 1.5
if [ "$2" = "" ]; then
echo "Determina cuantos \"sas/\" habrá al final del programa
(Max 3 dígitos, 130 Copias)
Relacion Copias/Espacio ocupado
	001 --> 462.0 MB
	005 --> 2.310 GB
	010 --> 4.620 GB
	050 --> 23.10 GB (Default)
	100 --> 46.20 GB
	130 --> 59.00 GB"
read c
else
	c=$2
fi
if [ $c = "" ]
then let c=50
fi
if [ $c -gt 130 ]
then echo "entrada demasiado grande, tomando el máximo posible (130)"
	c=130
fi
sleep 0.5
echo "haciendo $c copias"
x=1
full=0
while [ $x -le $c ]
do
echo -n "Copia número $x/$c en proceso"
sleep 0.1
	if [ ! -d sas ]
	then
	mkdir sas
	cp trash.txt sas/
	echo -n "."
	cp trash.txt sas/trash1.txt
	echo -n "."
	cp trash.txt sas/trash2.txt
	echo -n "."
	cp trash.txt sas/trash3.txt
	echo -n "."
	cp trash.txt sas/trash4.txt
	echo -n "."
	cp trash.txt sas/trash5.txt
	echo -n "."
	cp trash.txt sas/trash6.txt
	echo -n "."
	cp trash.txt sas/trash7.txt
	echo -n "."
	cp trash.txt sas/trash8.txt
	echo -n "."
	cp trash.txt sas/trash9.txt
	echo "."
	let percent=($x*100/$c)
	echo "copia número $x/$c ($percent%) terminada"
else
	echo "copia número $x encontrada, skipeando..."
	let full=$full+1
fi
	cd sas
sleep 0.1
((x++))
done
t=$c
while [ $t -gt 0 ]
do cd ../
echo "volviendo del directorio $t"
sleep 0.05
((t--))
done
echo "Programa finalizado"
sleep 0.5
echo "Generados $(du sas -sh | cut -d 's' -f1)"
if [ $full -gt 0 ]
then
echo "Había $full sas creados antes de la detonación
Recuerda que puedes usar la opción (8) de Power-Bomb Menu para limpiar los restos de anteriores detonaciones"
sleep 1
fi
echo "Cerrando..."
sleep 3
exit
		;;
	2)
		echo "Auto-Bomba seleccionada"
		sleep 1
		echo -n "Detonación en proceso"
		if [ ! -f trash.txt ]
		then
        		touch trash.txt
			i=1
			while [ $i -le 10 ]
			do
			echo>>trash.txt sas $(cat trash.txt trash.txt trash.txt trash.txt trash.txt)
			let i=$i+1
			echo -n "."
			done
		fi
echo -e "\nCheckPoint"
x=1
while [ $x -le 125 ]
do
	if [ $(expr $x % 5) = 0 ]; then
	echo -e "\niniciando copia $x"
elif [ $x -le 5 ];then
	echo -e "\niniciando copia $x"
fi
	echo -n "."
	mkdir sas
	cp trash.txt sas/
	cp trash.txt sas/trash1.txt
	cp trash.txt sas/trash2.txt
	cp trash.txt sas/trash3.txt
	cp trash.txt sas/trash4.txt
	cp trash.txt sas/trash5.txt
	cp trash.txt sas/trash6.txt
	cp trash.txt sas/trash7.txt
	cp trash.txt sas/trash8.txt
	cp trash.txt sas/trash9.txt
	cd sas
	let x=$x+1
done
echo "Copias Generadas, Volviendo..."
while [ $x -gt 1 ]
do
	cd ../
	echo "volviendo del directorio $x"
	let x=$(expr $x - 1)
done
echo "Generados $(du sas -sh | cut -d 's' -f1)"
exit
;;
	3) #Autodestrucción (lleva cuidado)
		echo "¿Estás seguro de querer borrar Power-Bomb Menu?
(s/n)"
		read a
		case $a in
			s)
		echo "leyendo..."
		sleep 0.5
		if [ -f trash.txt -o -d sas/ ]
		then
			read -p '¿Quieres eliminar también los restos que ocupan espacio?
	("s" para sí, cualquier cosa para no)
	' rmdust
		if [ $rmdust = s ]
		then
			echo "comencing chaos contaiment"
		if [ -f trash.txt ]
		then
			rm trash.txt
		fi
		if [ -d sas ]
		then
			rm -r sas
		fi
		fi
		fi
		sleep 1
		echo "Protocolo de autodestrucción completado"
		sleep 1
		echo "Caos Contenido"
		sleep 2
		rm $0
		clear
		;;
			*)
				echo "reiniciando Power-Bomb Menu"
				sleep 1
				#bash $0
				;;
		esac

		;;
	4) #gen trash (antes trash_gen)
		if [ ! -f trash.txt ] #3-1 start
		then 
			touch trash.txt
i=1
while [ $i -le 10 ] 
do
echo>>trash.txt sas $(cat trash.txt trash.txt trash.txt trash.txt trash.txt)
echo "copia número $i hecha"
((i++))
done
else #3-1 else
echo "se ha detectado trash.txt"
sleep 0.2
echo "Pulsa 1 para sobreescribir, escribe cualquier cosa para ignorar y reniciar"
read a
case $a in
	1)
		rm trash.txt
		touch trash.txt
	i=1
	while [ $i -le 10 ] 
	do
	echo>>trash.txt sas $(cat trash.txt trash.txt trash.txt trash.txt trash.txt)
	echo "copia número $i hecha (reescrito)"
	((i++))
	done
		;;
	*)
		echo "saliendo a Power-Bomb Menu..."
		sleep 1
		;;
		esac
		#acaba la pregunta anterior (el de reescribir)
		fi #3-1 end
		sleep 1.5
		#bash $0
		;;
	5) #clear trash
		if [ ! -f trash.txt ]
		then
			echo "no se ha detectado trash.txt, reiniciando..."
	else
			rm trash.txt
		echo "Borrado trash.txt exitosamente"
		fi
		sleep 1.5
		#bash $0
		;;
	6) #gen sas (antes dir_gen)
		echo "Selecciona el número de copias de sas/ (Max 130)
Relación Copias/Espacio ocupado
	001 --> 462.0 MB
	005 --> 2.310 GB
	010 --> 4.620 GB
	050 --> 23.10 GB
	100 --> 46.20 GB
"
		read d
		let d=$(echo $d | tr -d 'a-z')
		if [ $d -gt 130 ] #5-1 start
		then
			echo "Demasiadas copias!"
		let d=130
		fi #5-1 end
		echo "seleccionadas $d copias"
		sleep 1
		let x=1
		while [ $x -le $d ] #empieza la clonación
		do
		if [ ! -d sas ] #5-2 start
		then
			mkdir sas
			echo "sas $x creado"
		fi #5-2 end
		if [ -f trash.txt ] #5-3 start
		then
		cp trash.txt sas/
		cp trash.txt sas/trash1.txt
		cp trash.txt sas/trash2.txt
		cp trash.txt sas/trash3.txt
		cp trash.txt sas/trash4.txt
		cp trash.txt sas/trash5.txt
		cp trash.txt sas/trash6.txt
		cp trash.txt sas/trash7.txt
		cp trash.txt sas/trash8.txt
		cp trash.txt sas/trash9.txt
		echo "copia número $x hecha"
		fi #5-3 end
		cd sas
		let x=$x+1
		done
		sleep 1
		until [ -f $0 ]
		do cd ..
		done
		
		sleep 1
		#bash $0
		;;
	7) #clear sas
		if [ -d sas ]
			then 
				rm -r sas
		echo "Se ha borrado sas/"
		sleep 1
		fi
		#bash $0
		;;
	8) #clean dust
		if [ -f trash.txt ]
		then
			rm trash.txt
			echo "Se ha borrado trash.txt"
		else
			echo "trash.txt no encontrado"
		fi
		if [ -d sas ]
		then
			rm -r sas
			echo "Se ha borrado sas/"
		else
			echo "sas/ no encontrado"
		fi
		sleep 1
		#bash $0
		;;
	9)
		echo "entrando al editor VIM para editar Bomb4Menu"
		sleep 1
		vim $0
		#bash $0
		;;

	10)
		echo "Cerrando Power-Bomb Menu..."
		exit
esac
if [ "$1" = "" ]; then
	bash $0
fi
