cli, funciones y validadciones de entradas
This commit is contained in:
parent
fd4fde4e5c
commit
11b1b9886e
3 changed files with 37 additions and 41 deletions
33
bin/nodemecu
33
bin/nodemecu
|
@ -36,6 +36,19 @@ case $com in
|
|||
"
|
||||
;;
|
||||
|
||||
nombre)
|
||||
funcion_configurar $@
|
||||
;;
|
||||
servidor)
|
||||
funcion_configurar $@
|
||||
;;
|
||||
intervalo)
|
||||
funcion_configurar $@
|
||||
;;
|
||||
modo)
|
||||
funcion_configurar $@
|
||||
;;
|
||||
|
||||
start)
|
||||
if [ -z $interval ]; then
|
||||
echo "Asegurese de haber establecido 'intervalo' de regitro y envio de datos."
|
||||
|
@ -61,26 +74,6 @@ case $com in
|
|||
echo "Se detuvo la toma y envio de datos."
|
||||
echo ""
|
||||
;;
|
||||
intervalo)
|
||||
if [[ $1 == intervalo && $2 -ge 1 && $2 -le 60 ]]; then
|
||||
sed -i 's/interval=[0-9]*/interval='$2'/' $config
|
||||
echo "intervalo seteado en $2"
|
||||
exit
|
||||
else
|
||||
echo "Establezca un valor entre 1 y 60."
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
nombre)
|
||||
|
||||
parametros=$*
|
||||
nombre=$(echo $parametros | sed 's/nombre //g' | sed 's/ /_/g')
|
||||
if [[ "$nombre" =~ ^[a-zA-Z0-9_]+$ ]];then
|
||||
sed -i 's/name=[a-z A-Z 0-9]*/name='"$nombre"'/' $config
|
||||
else
|
||||
echo "El nombre solo puede contener carateres alfanumericos."
|
||||
fi
|
||||
;;
|
||||
monitor)
|
||||
$install_dir/monitor.sh
|
||||
;;
|
||||
|
|
35
funciones
35
funciones
|
@ -1,5 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
#set -x
|
||||
get_stack () {
|
||||
if [[ ! -z $1 && $1 == "wc" ]];then
|
||||
ls /opt/nodemecu/stack | wc -l
|
||||
|
@ -19,15 +19,17 @@ funcion_configurar() {
|
|||
local comando=$1
|
||||
local parametro=$2
|
||||
local parametros=$*
|
||||
local url_regex='(https?)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
|
||||
local url_regex='(https?|HTTPS?)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
|
||||
local nuevo_modo='(test|sensores)'
|
||||
|
||||
case $comando in
|
||||
nombre)
|
||||
while :;do
|
||||
nombre=$(echo $parametros | sed 's/nombre //g' | sed 's/ /_/g')
|
||||
nuevo_nombre=$(echo $parametros | sed 's/nombre //g' | sed 's/ /_/g')
|
||||
|
||||
if [[ "$nombre" =~ ^[a-zA-Z0-9_]+$ ]];then
|
||||
sed -i 's/nombre=*/nombre='$nombre'/' $config
|
||||
sed -i 's/nombre='$nombre'/nombre='$nuevo_nombre'/' $config
|
||||
echo "nombre: $nuevo_nombre"
|
||||
break
|
||||
else
|
||||
echo "El nombre solo puede contener carateres alfanumericos."
|
||||
|
@ -39,7 +41,7 @@ case $comando in
|
|||
servidor)
|
||||
while :;do
|
||||
if [[ $parametro =~ $url_regex ]]; then
|
||||
sed -i 's}servidor=*}servidor='"$parametro"'}' $config
|
||||
sed -i 's}servidor='$servidor'}servidor='"$parametro"'}' $config
|
||||
echo "Servidor $parametro"
|
||||
break
|
||||
else
|
||||
|
@ -61,17 +63,18 @@ case $comando in
|
|||
fi
|
||||
done
|
||||
;;
|
||||
modo)
|
||||
while :;do
|
||||
if [[ $parametro =~ $nuevo_modo ]]; then
|
||||
sed -i 's/modo='$modo'/modo='$parametro'/' $config
|
||||
break
|
||||
else
|
||||
echo "Los modos posibles son 'test' y 'sensores'"
|
||||
read -p "modo: " parametro
|
||||
|
||||
fi
|
||||
|
||||
done
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
servidor=
|
||||
nombre=
|
||||
servidor=
|
||||
intervalo=
|
||||
modo=test
|
||||
|
||||
|
|
Loading…
Reference in a new issue