User Info

Welcome Anonymous




Membership:
Latest: grimpow
New Today: 0
New Yesterday: 0
Overall: 206

People Online:
Members: 0
Visitors: 1
Total: 1
Who Is Where:
Visitors:
Statistics
Survey
¿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%

Results :: Polls
6 votes
Uso Del If En UNIX - Ejemplos Y Sintaxis - Forum: Lenguajes de programacion y Bases de Datos - Community Forums - Aforo, Mis Foros
Forum Index - Lenguajes de programacion y Bases de Datos

Uso del If en UNIX - Ejemplos y Sintaxis Reply to topic


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 wrote

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 wrote

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


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

Last edited by aforo on Fri Dec 28, 2012 10:25 pm; edited 2 times in total


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

Last edited by aforo on Tue Feb 26, 2008 6:53 pm; edited 1 time in total


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} ]
All times are UTC


Jump to: