Vous êtes sur la page 1sur 24

Estructuras de Control

Prof. Pablo Macn


2IB
http://soii-its.blogspot.com

De las clases anteriores

Shell scripting
1. La primera lnea siempre debera indicar

cul es la ruta al intrprete de comandos


(shell) que queremos que utilice Linux

#! /bin/bash

2. Los comentarios siempre se indican

comenzando la lnea con el signo #, lo que


est detrs no se ejecuta

De las clases anteriores

Shell scripting
3. El comando echo sirve para mostrar texto por la

salida estndar

Por lo tanto, se puede redireccionar


Echo Algo para poner en mi archivo >> archivo.txt

4. El comando read sirve para pedirle al usuario que

ingrese un valor que vamos a guardar en una


variable

read p Ingrese un nmero: num1

De las clases anteriores

Shell scripting
5. Para utilizar el valor de una variable debo

anteponer el prefijo $

echo mi variable tiene el valor $var

6. Para realizar operaciones aritmticas con

enteros puedo utilizar el comando expr

expr 100 / 5
expr 100 * 5

Estructura condicional IF
if [ expresin condicional ]
then
accin(es)
elif [ expresin condicional 2 ]
then
accin(es)
else
accin(es)
fi

Estructura condicional IF

Si la expresin condicional es verdadera se


ejecutan la o las acciones que estn antes que
else, elif (o else if) o fi
Si la expresin es falsa, se saltan esas acciones
y ejecuta lo que est despus (puede ser else o
puede ser fi)
fi seala el fin de la estructura, la secuencia de
ejecucin sigue su curso normal con lo que est
despus en el script

Estructura condicional IF

Nosotros usamos normalmente esta


estructura para comparar dos cosas del
mismo tipo (dos nmeros o dos palabras)

En GNU/Linux tambin podemos utilizarla


para saber acerca del estado de un archivo (si
existe, si est vaco, qu permisos tiene, si es
un directorio)

Estructura condicional IF
Nmeros Enteros

Cadenas de texto

Funcin

-gt

\>

Mayor que

-lt

\<

Menor que

-ge

\>=

Mayor o igual que

-le

\<=

Menor o igual que

-eq

Igual

-ne

!=

No igual (diferentes)

Una cadena es mayor que otra si est despus en el diccionario


Para las cadenas hay que escapar (poner \ delante de) los
smbolos mayor y menor (con los iguales correspondientes)

Ejemplo del uso de if


#! /bin/bash
read p ingrese un numero: nu1
read p ingrese otro numero: nu2
if [ $nu1 ne $nu2 ] # tiene que haber
espacio [ ]
then
echo $nu1 y $nu2 no son iguales
else
echo $nu1 y $nu2 son iguales
fi

Ejemplo del uso de if

Para ejecutar recuerden antes


siempre: qu?
Cambiar los permisos con chmod

Para ejecutar se utiliza qu


comando?
./nombre_Script

Ejercicios

Crear un script que pida el nombre al


usuario y si el nombre no es igual a
Carlitos, le pregunte: Dnde est
Carlitos?, pero si es igual lo salude:
Hola Carlitos tanto tiempo

Ejercicios

Crear un script que compare una


palabra ingresada por el usuario con
la palabra iglesia. El programa
debe decirnos si la palabra ingresada
est antes, despus o es igual a la
palabra guardada

Ejercicios

Crear un script que pida dos palabras


al usuario y nos diga cul de las dos
est antes en el diccionario o si son
iguales

Ejercicios

Crear un script que pida al usuario


que ingrese s si quiere ver un listado
de los archivos ordenados, si ingresa
cualquier otra cosa la salida debe
mostrar todos los detalles de los
archivos guardados en el directorio
/bin (paginados)

Ejercicios

Crear un script que pida al usuario


dos numeros, si el primero es mayor,
entonces hace a resta del primero
menos el segundo. Si el primero es
menor, entonces suma ambos
nmeros. Muestra el resultado en la
pantalla

Estructura condicional IF
-f
-s
-r
-w
-x
-d

OPERADORES PARA ARCHIVOS


El archivo existe y es un archivo
comn
El archivo no est vaco
El archivo tiene permiso de lectura
El archivo tiene permiso de escritura
El archivo tiene permiso de ejecucin
El archivo es un directorio

Ejemplo con archivos


#! /bin/bash
if [ -f /bin/ls ]
then
echo el archivo ls existe
fi
if [ -f /bin/nada ]
then
echo el archivo nada existe
else
echo el archivo nada no existe
fi

Estructura de seleccin
case

Estructura de Seleccin
case

La vamos a utilizar para hacer los mens

Vamos a aprender varias formas, la


semana que viene veremos la estructura
while y vamos a ser capaces de traer ya
los mens del obligatorio para el sbado
6 de septiembre

Estructura de Seleccin
case
Sintaxis:
case expresin in
caso 1) comandos ;;
caso 2) comandos ;;

*) comandos por defecto;;


esac

Ejemplo de men simple


#! /bin/bash
clear
echo MENU
1) Listar archivos del directorio /bin
2) Listar archivos del directorio /usr/bin
read p Ingrese la opcin deseada: op

Ejemplo de men simple


case $op in
1) ls l /bin/* | less ;;
2) ls l /usr/bin | less ;;
*) echo opcion invalida ;;
esac
sleep 2

Ejercicios de case

Mostrar un men que pida al usuario que


ingrese qu operacin matemtica desea
realizar. Si la opcin no es ninguna de las
vistas (+ - * / ) el programa debe salir
avisando que se produjo ese problema. En
cambio si la opcin es correcta debe
ejecutar la operacin correspondiente y
mostrar el resultado

Ejercicios de case

Mostrar al usuario un men que diga si


quiere crear un archivo o un directorio,
en cada caso debe pedir el nombre del
archivo o directorio.
Si no es ninguna de las opciones, el
programa debe salir avisando que ha
ocurrido un problema

Vous aimerez peut-être aussi