1 | #!/bin/bash |
---|
2 | |
---|
3 | #/** |
---|
4 | # ogCheckStringInGroup |
---|
5 | #@brief Función para determinar si el elemento pertenece a un conjunto |
---|
6 | #@param 1 elemento a comprobar |
---|
7 | #@param 2 grupo de elementos para comprobar tipo "valor1 valor2 valor3" |
---|
8 | #@return 0 si pertenece al grupo |
---|
9 | #@return 1 si NO pertenece al grupo |
---|
10 | #@exception OG_ERR_FORMAT formato incorrecto. |
---|
11 | #@note |
---|
12 | #@todo |
---|
13 | #@version 0.91 - Definición de |
---|
14 | #@author Antonio Doblas Viso, Universidad de Málaga |
---|
15 | #@date 2010/05/09 |
---|
16 | #*/ ## |
---|
17 | |
---|
18 | function ogCheckStringInGroup () |
---|
19 | { |
---|
20 | local i |
---|
21 | # Si se solicita, mostrar ayuda. |
---|
22 | if [ "$*" == "help" ]; then |
---|
23 | ogHelp "$FUNCNAME str_elemento str_grupo" \ |
---|
24 | "$FUNCNAME full-duplex \"full-duplex half-duplex broadcast\" " |
---|
25 | return |
---|
26 | fi |
---|
27 | |
---|
28 | # Error si no se recibe 2 parámetro. |
---|
29 | [ $# == 2 ] || ogRaiseError $OG_ERR_FORMAT || return $? |
---|
30 | |
---|
31 | |
---|
32 | for i in `echo $2` |
---|
33 | do |
---|
34 | if [ "$1" == "$i" ] |
---|
35 | then |
---|
36 | return 0 |
---|
37 | fi |
---|
38 | done |
---|
39 | |
---|
40 | return 1 |
---|
41 | } |
---|
42 | |
---|
43 | #/** |
---|
44 | # ogCheckStringInReg |
---|
45 | #@brief Función para determinar si el elemento contiene una "expresión regular" |
---|
46 | #@param 1 elemento a comprobar |
---|
47 | #@param 2 expresión regular" |
---|
48 | #@return 0 si coincide con la expresión |
---|
49 | #@return 1 si NO coincide con la expresión |
---|
50 | #@exception OG_ERR_FORMAT formato incorrecto. |
---|
51 | #@note |
---|
52 | #@todo |
---|
53 | #@version 0.91 - Definición de |
---|
54 | #@author Antonio Doblas Viso, Universidad de Málaga |
---|
55 | #@date 2010/05/09 |
---|
56 | #*/ ## |
---|
57 | |
---|
58 | function ogCheckStringInReg() |
---|
59 | { |
---|
60 | |
---|
61 | local REG |
---|
62 | |
---|
63 | # Si se solicita, mostrar ayuda. |
---|
64 | if [ "$*" == "help" ]; then |
---|
65 | ogHelp "$FUNCNAME str_elemento str_expresión_regular" \ |
---|
66 | "$FUNCNAME 50M \"^[0-9]{1,2}\M$\" " |
---|
67 | return |
---|
68 | fi |
---|
69 | |
---|
70 | # Error si no se recibe 2 parámetro. |
---|
71 | [ $# == 2 ] || ogRaiseError $OG_ERR_FORMAT || return $? |
---|
72 | |
---|
73 | REG=$2 |
---|
74 | [[ $1 =~ $REG ]] && return 0 || return 1 |
---|
75 | } |
---|
76 | |
---|
77 | |
---|
78 | |
---|
79 | #/** |
---|
80 | # ogCheckIpAddress |
---|
81 | #@brief Función para determinar si una cadena es una dirección ipv4 válida |
---|
82 | #@param 1 string de la ip a comprobar |
---|
83 | #@return 0 si es una dirección válida |
---|
84 | #@return 1 si NO es una dirección válida |
---|
85 | #@exception OG_ERR_FORMAT formato incorrecto. |
---|
86 | #@note |
---|
87 | #@todo |
---|
88 | #@version 0.91 - Definición de |
---|
89 | #@author Antonio Doblas Viso, Universidad de Málaga |
---|
90 | #@date 2010/05/09 |
---|
91 | #*/ ## |
---|
92 | |
---|
93 | function ogCheckIpAddress() |
---|
94 | { |
---|
95 | local REG IP arrIP |
---|
96 | |
---|
97 | # Si se solicita, mostrar ayuda. |
---|
98 | if [ "$*" == "help" ]; then |
---|
99 | ogHelp "$FUNCNAME str_IpAddressToCheck" \ |
---|
100 | "$FUNCNAME 192.18.35.3" |
---|
101 | return |
---|
102 | fi |
---|
103 | |
---|
104 | # Error si no se recibe 1 parámetro. |
---|
105 | [ $# == 1 ] || ogRaiseError $OG_ERR_FORMAT || return $? |
---|
106 | |
---|
107 | |
---|
108 | IP=$1 |
---|
109 | REG="^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" |
---|
110 | if [[ "$IP" =~ $REG ]] |
---|
111 | then |
---|
112 | OIFS=$IFS; |
---|
113 | IFS='.' ; |
---|
114 | arrIP=($IP) |
---|
115 | IFS=$OIFS |
---|
116 | if [[ ${arrIP[0]} -le 255 && ${arrIP[1]} -le 255 && ${arrIP[2]} -le 255 && ${arrIP[3]} -le 255 ]] |
---|
117 | then |
---|
118 | return 0 |
---|
119 | fi |
---|
120 | fi |
---|
121 | return 1 |
---|
122 | } |
---|