Re: [Gutl-l] Duda sobre asignación de variable en bash

2011-04-28 Por tema Lic . Jorge L Suárez

Cuando lo termines, por favor no te importe avisarme.

Jorge Luis

- Original Message - 
From: "Araceli Alonso" 
To: "Lista cubana de soporte tecnico en Tecnologias Libres" 


Sent: Thursday, April 28, 2011 9:59 AM
Subject: Re: [Gutl-l]Duda sobre asignación de variable en bash


 Muchas gracias Yosle , más o menos entiendo; es para tratarla como un
arreglo y tener acceso al string por los subíndices.


 Bueno, muy buena la idea del curso de shell scripting; supongo que como yo
hay unos cuantos que han guardado determinados scripts prácticos y que sería
bueno recopilar. Sí, pq sin bash no somos nada.
 Además es el mejor tema para comenzar a incursionar en este mundo y para
que los novatos pierdan el miedo (me incluyo en la lista).
 Bueno... yo estoy poco a poco haciendo desde hace un tiempo una especie de
tutorial sencillo de BASH (al menos de lo poco que sé). Sí pq quizás sea +
fácil que un novato haga un tutorial para novatos. JAJJAJA. Cuando tenga
algo + adelantado lo posteo para que me lo destripen y para que agreguen lo
que parezca pertinente.
 Incluso, que esté + o - adaptado a determinadas condiciones que son muy
típicas en nuestras redes y que quizás en otros países no lo sea tanto como
son el uso de proxies con autenticación, las actualizaciones de los
antivirus para usarlas en las maquinas Win2 y otros que sean de utilidad y
nos beneficien ya sea con hardware pobre o para aprovechar al máximo la
usual lentitud de las conexiones.

Poco a poco pienso que vamos lograr tener estas cosas por las que
estamos abogando en la lista actualmente.
Es muy bueno el uso de las plataformas de cursos a distancia y supongo que
muchos ayudaremos en lo que podamos en la creación de cursos con Moodle.
Además.. tb fundamental la mensajería instantánea y el servicio de
blogging. Sería un gran paso de avance.


- Original Message - 
From: "Yosle" 

To: "Lista cubana de soporte tecnico en Tecnologias Libres"

Sent: Thursday, April 28, 2011 4:13 AM
Subject: Re: [Gutl-l] Duda sobre asignación de variable en bash


Ejecuta en la consola

man bash

escribe " /=~ " sin comillas para buscar y


BASH_REMATCH
An array variable whose members are assigned by  the  =~ binary operator
to the [[ conditional command.  The element with index 0 is the portion of
the  string  matching  the  entire  regular  expression.The  element
with  index  n is the portion of the string matching the nth parenthesized
subexpression.  This variable is read-only.


saludos, yosle.

P.D:  alguien se anima a hacer un curso de shell scripting ?


El Jue, 28 de Abril de 2011, 2:36 pm, Araceli Alonso escribió:

disculpen mi ignorancia, pero:
que función tiene el ~ al inicio de la expresión regular en la
condicional:

 if [[ $1 =~ ^[[:digit:]]+$ ]] && (( $1 >= 0 && $1 <= 255 ))



--

Ubuntu User number is # 30682




__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l



__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l 



--

Este mensaje le ha llegado mediante el servicio de correo electronico que 
ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema 
Nacional de Salud. La persona que envia este correo asume el compromiso de usar 
el servicio a tales fines y cumplir con las regulaciones establecidas

Infomed: http://www.sld.cu/

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Duda sobre asignación de variable en bash

2011-04-28 Por tema Araceli Alonso
 Muchas gracias Yosle , más o menos entiendo; es para tratarla como un 
arreglo y tener acceso al string por los subíndices.



 Bueno, muy buena la idea del curso de shell scripting; supongo que como yo 
hay unos cuantos que han guardado determinados scripts prácticos y que sería 
bueno recopilar. Sí, pq sin bash no somos nada.
 Además es el mejor tema para comenzar a incursionar en este mundo y para 
que los novatos pierdan el miedo (me incluyo en la lista).
 Bueno... yo estoy poco a poco haciendo desde hace un tiempo una especie de 
tutorial sencillo de BASH (al menos de lo poco que sé). Sí pq quizás sea + 
fácil que un novato haga un tutorial para novatos. JAJJAJA. Cuando tenga 
algo + adelantado lo posteo para que me lo destripen y para que agreguen lo 
que parezca pertinente.
 Incluso, que esté + o - adaptado a determinadas condiciones que son muy 
típicas en nuestras redes y que quizás en otros países no lo sea tanto como 
son el uso de proxies con autenticación, las actualizaciones de los 
antivirus para usarlas en las maquinas Win2 y otros que sean de utilidad y 
nos beneficien ya sea con hardware pobre o para aprovechar al máximo la 
usual lentitud de las conexiones.


Poco a poco pienso que vamos lograr tener estas cosas por las que 
estamos abogando en la lista actualmente.
Es muy bueno el uso de las plataformas de cursos a distancia y supongo que 
muchos ayudaremos en lo que podamos en la creación de cursos con Moodle.
Además.. tb fundamental la mensajería instantánea y el servicio de 
blogging. Sería un gran paso de avance.



- Original Message - 
From: "Yosle" 
To: "Lista cubana de soporte tecnico en Tecnologias Libres" 


Sent: Thursday, April 28, 2011 4:13 AM
Subject: Re: [Gutl-l] Duda sobre asignación de variable en bash


Ejecuta en la consola

man bash

escribe " /=~ " sin comillas para buscar y


BASH_REMATCH
An array variable whose members are assigned by  the  =~ binary operator
to the [[ conditional command.  The element with index 0 is the portion of
the  string  matching  the  entire  regular  expression.The  element
with  index  n is the portion of the string matching the nth parenthesized
subexpression.  This variable is read-only.


saludos, yosle.

P.D:  alguien se anima a hacer un curso de shell scripting ?


El Jue, 28 de Abril de 2011, 2:36 pm, Araceli Alonso escribió:

disculpen mi ignorancia, pero:
que función tiene el ~ al inicio de la expresión regular en la
condicional:

 if [[ $1 =~ ^[[:digit:]]+$ ]] && (( $1 >= 0 && $1 <= 255 ))



--

Ubuntu User number is # 30682




__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l



__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Duda sobre asignación de variable en bash [SOLVED]

2011-04-28 Por tema KZKG^Gaara

Gracias socio, me funcionó ok :)
Solo dos detalles jeje, al final pusiste "if valid_ip IP_ADDRESS;", lo 
cambié por "if validar_ip $IP_ADDRESS;" porque ya habíamos definido que 
la función era validar_ip y no valid_ip, y agregué el $ para variable.


Nada que digo esto por si alguien más sigues este hilo.
Gracias de nuevo socio.
Saludos

El 27/04/11 13:15, Yosle escribió:

Eso se hace con expresiones regulares, supongamos que tengas el valor
almacenado en una variable IP_ADDRESS, seria algo asi como:

function validar_ip()
{
local  ip=$1
local  stat=1

 if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9
]{1,3}$ ]]; then
OIFS=$IFS
IFS='.'
ip=($ip)
IFS=$OIFS
[[ ${ip[0]} -le 255&&  ${ip[1]} -le 255 \
&&  ${ip[2]} -le 255&&  ${ip[3]} -le 255 ]]
stat=$?
fi
 return $stat
}

  # Llamada a la funcion:

   valid_ip IP_ADDRESS
  if [[ $? -eq 0 ]];
  then echo OK;
 else echo IP incorrecta; fi

#   O , mejor ...

 if valid_ip IP_ADDRESS;
 then echo OK;
  else
echo IP incorrecta; fi


saludos, yosle.




__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Duda sobre asignación de variable en bash

2011-04-28 Por tema Araceli Alonso

disculpen mi ignorancia, pero:
que función tiene el ~ al inicio de la expresión regular en la condicional:

if [[ $1 =~ ^[[:digit:]]+$ ]] && (( $1 >= 0 && $1 <= 255 ))

- Original Message - 
From: "Yosle" 
To: "Lista cubana de soporte tecnico en Tecnologias Libres" 


Sent: Thursday, April 28, 2011 2:18 AM
Subject: Re: [Gutl-l] Duda sobre asignación de variable en bash


Esto es lo mismo pero mas compacto , y al estilo UNIX , verifica que la
cadena sea ###.###.###.### y ademas el rango de cada octeto (0-255) , en
vez de echo puedes usar dialog , gdialog o zenity ...etc para mostrar la
notificaciones adecuadas.


espero que te sirva ,...

saludos ,yosle



yosle@yosle:~/Escritorio$ ./prueba.sh 200.2.2.1
IP correcta
yosle@yosle:~/Escritorio$ ./prueba.sh 200.2.2.1gufgf
IP incorrecta
yosle@yosle:~/Escritorio$ ./prueba.sh 500.2.2.1
IP incorrecta
yosle@yosle:~/Escritorio$ cat prueba.sh

#!/bin/sh

validar () {
   if [[ $1 =~ ^[[:digit:]]+$ ]] &&
  (( $1 >= 0 && $1 <= 255 ))
   then
   echo "0"
   return 0
   else
   echo "1"
   return 1
   fi
}

saveIFS=$IFS
IFS='.'

# obtener ip desde el 1er paramentro de linea de comandos
ip=($1)

IFS=$saveIFS
for octet in ${ip[@]}
do
   if ! validar $octet > /dev/null
   then
   validar=1
   fi
done

# si validar es 1
[[ $validar != 1 ]] && echo "IP correcta" || echo "IP incorrecta"







El Mie, 27 de Abril de 2011, 1:31 pm, KZKG^Gaara escribió:

Hola gente,
Tengo un script en el cual le pido al usuario una dirección IP (Ej.
192.168.40.16), luego con esa IP hago una cierta cantidad de cosas.

O sea, el usuario introduce la IP que desea y listo, presiona [Enter]
(lo que sucede después no lo nota).

Pero ¿y si el usuario pone letras en vez de números?
Ese es mi problema. Desearía que cuando le pida la IP, en caso de que el
usuario escriba letras o algo así, que se le muestre un mensaje de error
mediante por ejemplo "dialog --msgbox "error"".

Alguien puede ayudarme en esto?
Ah, hago esto 100% en bash.

Saludos y gracias por adelantado.
 próxima parte 
Se ha borrado un adjunto en formato HTML...
URL:
<http://listas.jovenclub.cu/pipermail/gutl-l/attachments/20110427/624ab8e3/attachment.htm>
__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l




--

Ubuntu User number is # 30682




__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l



__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Duda sobre asignación de variable en bash

2011-04-28 Por tema Yosle
Esto es lo mismo pero mas compacto , y al estilo UNIX , verifica que la
cadena sea ###.###.###.### y ademas el rango de cada octeto (0-255) , en
vez de echo puedes usar dialog , gdialog o zenity ...etc para mostrar la
notificaciones adecuadas.


espero que te sirva ,...

saludos ,yosle



yosle@yosle:~/Escritorio$ ./prueba.sh 200.2.2.1
IP correcta
yosle@yosle:~/Escritorio$ ./prueba.sh 200.2.2.1gufgf
IP incorrecta
yosle@yosle:~/Escritorio$ ./prueba.sh 500.2.2.1
IP incorrecta
yosle@yosle:~/Escritorio$ cat prueba.sh

#!/bin/sh

validar () {
if [[ $1 =~ ^[[:digit:]]+$ ]] &&
   (( $1 >= 0 && $1 <= 255 ))
then
echo "0"
return 0
else
echo "1"
return 1
fi
}

saveIFS=$IFS
IFS='.'

# obtener ip desde el 1er paramentro de linea de comandos
ip=($1)

IFS=$saveIFS
for octet in ${ip[@]}
do
if ! validar $octet > /dev/null
then
validar=1
fi
done

# si validar es 1
[[ $validar != 1 ]] && echo "IP correcta" || echo "IP incorrecta"







El Mie, 27 de Abril de 2011, 1:31 pm, KZKG^Gaara escribió:
> Hola gente,
> Tengo un script en el cual le pido al usuario una dirección IP (Ej.
> 192.168.40.16), luego con esa IP hago una cierta cantidad de cosas.
>
> O sea, el usuario introduce la IP que desea y listo, presiona [Enter]
> (lo que sucede después no lo nota).
>
> Pero ¿y si el usuario pone letras en vez de números?
> Ese es mi problema. Desearía que cuando le pida la IP, en caso de que el
> usuario escriba letras o algo así, que se le muestre un mensaje de error
> mediante por ejemplo "dialog --msgbox "error"".
>
> Alguien puede ayudarme en esto?
> Ah, hago esto 100% en bash.
>
> Saludos y gracias por adelantado.
>  próxima parte 
> Se ha borrado un adjunto en formato HTML...
> URL:
> 
> __
> Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
> Gutl-l@jovenclub.cu
> https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
>


-- 

Ubuntu User number is # 30682




__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Duda sobre asignación de variable en bash

2011-04-27 Por tema Yosle
Eso se hace con expresiones regulares, supongamos que tengas el valor
almacenado en una variable IP_ADDRESS, seria algo asi como:


function validar_ip()
{
local  ip=$1
local  stat=1

if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9
]{1,3}$ ]]; then
OIFS=$IFS
IFS='.'
ip=($ip)
IFS=$OIFS
[[ ${ip[0]} -le 255 && ${ip[1]} -le 255 \
&& ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]
stat=$?
fi
return $stat
}

 # Llamada a la funcion:

  valid_ip IP_ADDRESS
 if [[ $? -eq 0 ]];
 then echo OK;
else echo IP incorrecta; fi

#   O , mejor ...

if valid_ip IP_ADDRESS;
then echo OK;
 else
   echo IP incorrecta; fi




saludos, yosle.



El Mie, 27 de Abril de 2011, 1:31 pm, KZKG^Gaara escribió:
> Hola gente,
> Tengo un script en el cual le pido al usuario una dirección IP (Ej.
192.168.40.16), luego con esa IP hago una cierta cantidad de cosas.
>
> O sea, el usuario introduce la IP que desea y listo, presiona [Enter]
(lo que sucede después no lo nota).
>
> Pero ¿y si el usuario pone letras en vez de números?
> Ese es mi problema. Desearía que cuando le pida la IP, en caso de que el
usuario escriba letras o algo así, que se le muestre un mensaje de error
mediante por ejemplo "dialog --msgbox "error"".
>
> Alguien puede ayudarme en esto?
> Ah, hago esto 100% en bash.
>
> Saludos y gracias por adelantado.
>  próxima parte 
> Se ha borrado un adjunto en formato HTML...
> URL:
> 
__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
> https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
>


-- 

Ubuntu User number is # 30682






__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


[Gutl-l] Duda sobre asignación de variable en bash

2011-04-27 Por tema KZKG^Gaara

Hola gente,
Tengo un script en el cual le pido al usuario una dirección IP (Ej. 
192.168.40.16), luego con esa IP hago una cierta cantidad de cosas.


O sea, el usuario introduce la IP que desea y listo, presiona [Enter] 
(lo que sucede después no lo nota).


Pero ¿y si el usuario pone letras en vez de números?
Ese es mi problema. Desearía que cuando le pida la IP, en caso de que el 
usuario escriba letras o algo así, que se le muestre un mensaje de error 
mediante por ejemplo "dialog --msgbox "error"".


Alguien puede ayudarme en esto?
Ah, hago esto 100% en bash.

Saludos y gracias por adelantado.
 próxima parte 
Se ha borrado un adjunto en formato HTML...
URL: 

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l