cli, funciones y validadciones de entradas
This commit is contained in:
parent
fd4fde4e5c
commit
11b1b9886e
3 changed files with 37 additions and 41 deletions
37
bin/nodemecu
37
bin/nodemecu
|
@ -36,7 +36,20 @@ case $com in
|
||||||
"
|
"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
start)
|
nombre)
|
||||||
|
funcion_configurar $@
|
||||||
|
;;
|
||||||
|
servidor)
|
||||||
|
funcion_configurar $@
|
||||||
|
;;
|
||||||
|
intervalo)
|
||||||
|
funcion_configurar $@
|
||||||
|
;;
|
||||||
|
modo)
|
||||||
|
funcion_configurar $@
|
||||||
|
;;
|
||||||
|
|
||||||
|
start)
|
||||||
if [ -z $interval ]; then
|
if [ -z $interval ]; then
|
||||||
echo "Asegurese de haber establecido 'intervalo' de regitro y envio de datos."
|
echo "Asegurese de haber establecido 'intervalo' de regitro y envio de datos."
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -56,31 +69,11 @@ case $com in
|
||||||
echo ""
|
echo ""
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
stop)
|
stop)
|
||||||
crontab -u root -r
|
crontab -u root -r
|
||||||
echo "Se detuvo la toma y envio de datos."
|
echo "Se detuvo la toma y envio de datos."
|
||||||
echo ""
|
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)
|
monitor)
|
||||||
$install_dir/monitor.sh
|
$install_dir/monitor.sh
|
||||||
;;
|
;;
|
||||||
|
|
35
funciones
35
funciones
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
#set -x
|
||||||
get_stack () {
|
get_stack () {
|
||||||
if [[ ! -z $1 && $1 == "wc" ]];then
|
if [[ ! -z $1 && $1 == "wc" ]];then
|
||||||
ls /opt/nodemecu/stack | wc -l
|
ls /opt/nodemecu/stack | wc -l
|
||||||
|
@ -19,15 +19,17 @@ funcion_configurar() {
|
||||||
local comando=$1
|
local comando=$1
|
||||||
local parametro=$2
|
local parametro=$2
|
||||||
local parametros=$*
|
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
|
case $comando in
|
||||||
nombre)
|
nombre)
|
||||||
while :;do
|
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
|
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
|
break
|
||||||
else
|
else
|
||||||
echo "El nombre solo puede contener carateres alfanumericos."
|
echo "El nombre solo puede contener carateres alfanumericos."
|
||||||
|
@ -39,7 +41,7 @@ case $comando in
|
||||||
servidor)
|
servidor)
|
||||||
while :;do
|
while :;do
|
||||||
if [[ $parametro =~ $url_regex ]]; then
|
if [[ $parametro =~ $url_regex ]]; then
|
||||||
sed -i 's}servidor=*}servidor='"$parametro"'}' $config
|
sed -i 's}servidor='$servidor'}servidor='"$parametro"'}' $config
|
||||||
echo "Servidor $parametro"
|
echo "Servidor $parametro"
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
|
@ -61,17 +63,18 @@ case $comando in
|
||||||
fi
|
fi
|
||||||
done
|
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
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
servidor=
|
|
||||||
nombre=
|
nombre=
|
||||||
|
servidor=
|
||||||
intervalo=
|
intervalo=
|
||||||
modo=test
|
modo=test
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue