Seleccionar Idioma
Español English
Información de Usuario

Bienvenido Anonimo




Lista de miembros:
Último: grimpow
Nuevos Hoy: 0
Nuevos Ayer: 0
Total: 206

Gente OnLine:
Miembros: 0
Visitantes: 0
Total: 0
Who Is Where:
Encuesta
¿Encuentras util Aforo?

Si, por el Contenido
100.0%

No se
0.0%

No, por el Aspecto
0.0%

No, por el Contenido
0.0%

Si, por el Aspecto
0.0%

Resultados :: Encuestas
6 votos

Uso del If en UNIX - Ejemplos y Sintaxis

Foro Lenguajes de programacion y Bases de Datos: Lenguajes de programacion, Bases de Datos, Sistemas Operativos y recursos tecnicos avanzados.

Asunto: Uso del If en UNIX - Ejemplos y Sintaxis
El comando if de UNIX tiene una sintaxis muy particular. Este comando se usa para comparar y tomar decisiones en funcion de una condición.

Por ejemplo se puede usar para comparar dos números o cadenas.

sintaxis del comando if escribió

if [condicion ]
then
comandos1 (si condicion cierta);
else
comandos2 (si condicion falsa);
fi


Tambien tiene un formato "corto" sin el else (accion en caso de que al palicar la condicion el resultado sea "falso")

sintaxis del comando if sin else escribió

if [condicion ]
then
comandos1 (si condicion cierta);
fi


El comando siempre comienza con la expresión if y acaba con la expresión fi

Ultima edición por aforo el Vie Dic 28, 2012 11:25 pm, editado 2 veces

Asunto: Re: Uso del If en UNIX
Pongo algunos ejemplos. en este caso el de comparacion de variables que son "Números" en UNIX

Comparación de Números



#!/bin/ksh
#
### Ejemplos by Aforo (Aforo.es
#

tput clear # Limpio la pantalla
echo "Primer numero: \c" # Pido el primer numero
read nn # Lo leo cuando lo teclee el usuario
echo "Segundo numero: \c" # Pido el segundo
read hh # leo de nuevo

### Primera comparacion ###
if [ $nn -eq $hh ] # si fuese distinto seria "-ne"
then
echo "bingo. Son iguales"
else
echo "fuera"
fi

### Segunda comparacion

if [ $nn -lt $hh ] # si fuese menor o igual seria "-le"
then
echo $nn" es menor que "$hh
else
echo $nn" no es menor que "$hh
fi

### Tercera #####

if [ $nn -gt $hh ] # si fuese mayor o igual seria "-ge"
then
echo $nn" es mayor que "$hh
else
echo $nn" no es mayor que "$hh
fi

Ultima edición por aforo el Mar Feb 26, 2008 7:53 pm, editado 1 vez

Asunto: Re: Uso del If en UNIX
Y ahora un ejemplo de comparacion de variables que son "cadenas" (caracteres alfanuméricos) en UNIX

Comparación de Cadenas



#!/bin/ksh
#
### Ejemplos by Aforo (Aforo.es
#

################# Ejemplo con cadenas ###############

echo "Ahora introduce una cadena"
read nn
echo "segunda cadena"
read hh

### Primera comparacion

if [ {$nn} = {$hh} ] # si fuese distinto seria ""
then
echo "bingo. Son iguales"
else
echo "fuera"
fi

### Segunda comparacion

if [ {$nn} != {$hh} ] # si fuese igual"
then
echo $nn" es distinto de "$hh
else
echo $nn" es lo mismo que "$hh
fi


Observemos que en el caso de cadenas la condición es completamente distinta en su sintaxis a la de números:

Condición "igual" si la variable es número: [ $nn -eq $hh ]
Condición "igual" si la variable en cadena: [ {$nn} = {$hh} ]
Todas las horas son Europe/Madrid

Cambiar a: