Browse Source

Clase Jueves 2017-10-26

Guzmán Castanedo Villalba 3 years ago
parent
commit
499f23d5e7
4 changed files with 107 additions and 0 deletions
  1. 44 0
      calculadora.sh
  2. 18 0
      password.sh
  3. 20 0
      tablamultiplicar.sh
  4. 25 0
      xmv.sh

+ 44 - 0
calculadora.sh

@@ -0,0 +1,44 @@
+#!/bin/bash
+
+function Entrada {
+	echo -n "Introduzca 1er Numero: "
+	read Num1
+	echo -n "Introduzca 2o Numero: "
+	read Num2
+	echo
+}
+
+echo "/-------------------------------------------------------------\\"
+echo "|                         SuperCalculadora!                   |"
+echo "\\-------------------------------------------------------------/"
+echo -n "Introduzca operador [suma/resta/multiplicacion/division]: "
+read Operador
+#Pasamos el operador a minusculas
+Operador=$(echo $Operador | tr '[:upper:]' '[:lower:]')
+
+case "$Operador" in
+	suma)
+		Entrada
+		echo "$Num1 + $Num2 = $(expr $Num1 + $Num2)"
+		;;
+	resta)
+		Entrada
+		echo "$Num1 - $Num2 = $(expr $Num1 - $Num2)"
+		;;
+	multiplicacion)
+		Entrada
+		echo "$Num1 * $Num2 = $(expr $Num1 '*' $Num2)"
+		;;
+	division)
+		Entrada
+		if [ $Num2 -eq 0 ]; then
+			echo "$Num1 / $Num2 = Inf"
+		else
+			echo "$Num1 / $Num2 = $(expr $Num1 / $Num2)"
+		fi
+		;;
+	*)
+		echo "ERROR: Operador no valido."
+		exit 1
+		;;
+esac

+ 18 - 0
password.sh

@@ -0,0 +1,18 @@
+#!/bin/bash
+
+cont=false
+while [ $cont = false ]; do
+	printf "Password:\t"
+	read -s pass1
+	printf "\nRepita Password:\t"
+	read -s pass2
+	printf "\n"
+	if [ $pass1 = $pass2 ]; then
+		pass=$pass1
+		cont=true
+		printf "Password correcto.\n"
+	else
+		printf "Password incorrecto. Intentelo de nuevo:\n"
+	fi
+done
+unset cont pass pass1 pass2

+ 20 - 0
tablamultiplicar.sh

@@ -0,0 +1,20 @@
+#!/bin/bash
+
+echo -n "Introduce numero de tabla: "
+read Tabla
+echo -n "Introduce numero final: "
+read Final
+
+#Comprobar si $Tabla y $Final son enteros (interger)
+if ! [ $Tabla -eq $Tabla ] 2> /dev/null; then
+	echo "ERROR: los valores tienen que ser numeros enteros."
+	exit 1
+fi
+if ! [ $Final -eq $Final ] 2> /dev/null; then
+	echo "ERROR: los valores tienen que ser numeros enteros."
+	exit 1
+fi
+
+for Index in $(seq $Final); do
+	echo -e "$Index\t*\t$Tabla\t=\t$(expr $Index '*' $Tabla)"
+done

+ 25 - 0
xmv.sh

@@ -0,0 +1,25 @@
+#!/bin/bash
+
+homedir="/home/$USER/"
+bindir=$homedir"/bin/"
+
+#Creamos el $bindir si no existe
+if [ ! -d $bindir ]; then
+	mkdir $bindir
+	if [ $? -ne 0 ]; then
+		#Si no podemos crearlo, salimos con error.
+		echo "ERROR: no se puede crear $bindir."
+		exit 1
+	fi
+fi
+
+for fich in $(ls $homedir); do
+	#Si el archivo es ejecutable y no es un directorio, lo movemos a $bindir.
+	if [ ! -d $fich ] && [ -x $fich ]; then
+		echo "Moviendo $fich a $bindir/$fich."
+		mv $fich $bindir"/"$fich
+		if [ $? -ne 0 ]; then
+			echo "ERROR: no se ha podido mover $fich."
+		fi
+	fi
+done