martes, 28 de febrero de 2017

Script read esperar tiempo e iteraciones para ejecucion

Bueno, el otro día me ha pedido un colega un script para poder controlar dos casos ara una ejecución. Y en vista de que no encuentro nada similar por la red, lo comparto.

1- El caso de que el usuario inserte un valor -> Si es 'n' no hace nada, en caso contrario ejecuta
2- El caso en que el usuario no inserte nada -> Intenta 10 veces hasta acabar los intentos.

A continuación es script:



#!/bin/bash
#Miniminiyo bash script to wait input 10seg for n iterations
# if not value or 'n' do nothing
# if another character do execution
EJECUTAR=0;
CONTADOR=10;
i=0;
echo 'Introduce n para salir';
#for i in $(seq 0 1 10);
while [ $i -le $CONTADOR ]; do
let i+=1;
read -t 10 -p 'Indique si no desea iniciar con n :' siONo;
if [ -z $siONo ]; then
echo "El usuario no ha indicado nada en la iteracion ${i}, continuamos bucle hasta 10";
else #hay entrada
if [ $siONo != "n" ]; then # si no es n, quiere ejecutar
let EJECUTAR+=1;
fi
break;#tenemos valor sea o no n luego salimos
fi

done #end for

if [ $EJECUTAR -eq 1 ]; then
echo 'Se ejecuta lo indicado';
#aqui tu llamada al comando o accion
else
echo 'No se ejcuta nada por peticion del usuario';
fi



No hay comentarios:

Publicar un comentario