Vous êtes sur la page 1sur 34

UNIVERSIDAD DE LAS

AMERICAS
SISTEMAS OPERATIVOS II
Ing. Vernica Falcon
Marzo Junio 2014
AGENDA
EL SHELL COMO LENGUAJE DE PROGRAMACIN
INTRODUCCIN
ESTRUCTURAS DE CONTROL
FUNCIONES
OBJETIVOS
Comprender la sintaxis de las sentencias de control.
Realizar ejercicios usando las diferentes sentencias de control.
EL SHELL COMO LENGUAJE DE
PROGRAMACIN
La estructura de programacin se divide en 3 grupos:
Estructura Secuencial
Estructuras de Control y Transferencia
Estructuras de Control de Bucles
ESTRUCTURA SECUENCIAL
Las rdenes se ejecutan secuencialmente, una tras otra. Las ordenes deben estar
separadas por un punto y coma.
Ejemplo:
$ orden1; orden2; orden3
Si la salida es nica, las ordenes van entre llaves.
Ejemplo:
$ {orden1; orden2; orden3;}
ESTRUCTURA SECUENCIAL
Ejemplos:
Listar en formato extendido los contenidos de los directorios etc y que estn al
mismo nivel del directorio personal.
ls l etc; ls l usr
Listar en formato extendido los contenidos de los directorios has (al mismo nivel
que directorio personal) y ppp que est un nivel antes, el listado aparezca como si
fuera un solo contenido en orden descendente y el resultado se guarde en backup.
ESTRUCTURA DE CONTROL Y TRANSFERENCIA
ESTRUCTURA IF
Ejecuta una serie de comandos dependiendo si una cierta condicion se cumple o no. Su
estructura es la siguiente:
If condicion
then
.. Lista de ordenes
Fi
If condicion
then
.. Lista de ordenes
else
Lista de ordenes
Fi
ESTRUCTURA DE CONTROLYTRANSFERENCIA
If condicion
then
.. Lista de ordenes
Else
if condicion
then
..Lista de ordenes
else
Lista de ordenes
fi
fi
ESTRUCTURA DE CONTROLYTRANSFERENCIA
If condicion
then
.. Lista de ordenes
elif condicion
..Lista de ordenes
else
Lista de ordenes
fi
fi
ESTRUCTURA DE CONTROLYTRANSFERENCIA
Ejercicios
Mostrar un mensaje Valor Correcto, cuando se ingrese un valor menor que 0 ms
grande que 7.
Revisar si existe su perfil de usuario en el directorio personal
ESTRUCTURA DE CONTROLYTRANSFERENCIA
Ejercicios
cat >usuario
read -p "Ingrese el nombre del usuario: " usuario
if grep -L ^$usuario: /etc/passwd
then
echo "El usuario ya esta creado"
else
echo "El usuario no esta creado"
fi
ESTRUCTURA DE CONTROLYTRANSFERENCIA
Comando test
Evalua una expression y retorna un valor que ser cero si la expression es verdadera o
distinto de cero si la expression es falsa.
Sintaxis
test EXPRESION
ESTRUCTURA DE CONTROLYTRANSFERENCIA
Comparaciones entre nmeros:
-eq: es igual a
-ne: no es igual
-gt: es mayor que
-ge: es mayor o igual que
-lt: es menor que
-le: es menor o igual que
ESTRUCTURA DE CONTROLYTRANSFERENCIA
Comparacin entre Cadenas:
=, ==: es igual a
!=: no es igual a
-z: la cadena esta vaca
-n: la cadena no esta vaca
Operadores Lgicos:
-a: AND lgico
-o: OR lgico
ESTRUCTURA DE CONTROLYTRANSFERENCIA
ESTRUCTURA DE CONTROLYTRANSFERENCIA
ESTRUCTURA DE CONTROLYTRANSFERENCIA
ESTRUCTURA FOR
Ejecuta una serie de comandos un numero determinado de veces.
Sintaxis
for variable [ in lista]; do lista de ordenes
done
Donde:
variable: Es una variable cualquiera.
Lista: Puede ser cualquier nmero de elementos.
Lista de ordenes: Se repetir por cada element de la lista.
ESTRUCTURA DE CONTROLYTRANSFERENCIA
ESTRUCTURA FOR
Imprime los nmeros del 2 hasta el nmero que indica el usuario incrementado en 3
unidades.
ESTRUCTURA DE CONTROLYTRANSFERENCIA
ESTRUCTURA FOR
Imprime los nmeros pares
ESTRUCTURA DE CONTROLYTRANSFERENCIA
ESTRUCTURA FOR
Imprime los numeros del 1 al 9
ESTRUCTURA DE CONTROLYTRANSFERENCIA
ESTRUCTURA FOR
Imprime el factorial de un nmero
ESTRUCTURA DE CONTROL
ESTRUCTURA CASE
Ejecuta una o varias listas de comandos dependiendo del valor de una variable.
Sintaxis
case expresion in
caso_1 )
comandos;;
caso_2 )
comandos;;
......
esac
ESTRUCTURA DE CONTROLYTRANSFERENCIA
ESTRUCTURA CASE
ESTRUCTURA DE CONTROLYTRANSFERENCIA
ESTRUCTURA SELECT
Permite seleccionar al usuario una opcin de una lista de opciones en un men.
Sintaxis
select nombre [in lista];
do
case $nombre in
1)
codigo ;;
2)
codigo ;;
esac
done
ESTRUCTURA DE CONTROL
ESTRUCTURA SELECT
ESTRUCTURA DE CONTROL DE BUCLES
ESTRUCTURA WHILE
Ejecuta una seria de comandos mientras que una determinada condicin se cumpla.
Sintaxis
while condicion
do
comandos
done
ESTRUCTURA DE CONTROL DE BUCLES
ESTRUCTURA WHILE
EJERCICIO 1
Imprime los nmeros impares hasta el nmero que indique el usuario.
ESTRUCTURA DE CONTROL DE BUCLES
ESTRUCTURA WHILE
EJERCICIO 2
Imprime n veces una frase ingresada por teclado.
ESTRUCTURA DE CONTROL DE BUCLES
ESTRUCTURA UNTIL
Ejecuta una serie de comandos hasta que una determinada condicin se cumpla.
Sintaxis
until condicion; do
comandos
done
ESTRUCTURA DE CONTROL DE BUCLES
ESTRUCTURA UNTIL
PRIMERA FORMA EJERCICIO 1
Imprime los nmeros impares hasta el nmero que indique el usuario.
ESTRUCTURA DE CONTROL DE BUCLES
ESTRUCTURA UNTIL
SEGUNDA FORMA EJERCICIO1
Imprime los nmeros impares hasta el nmero que indique el usuario.
ESTRUCTURA DE CONTROL DE BUCLES
ESTRUCTURA UNTIL
EJERCICIO1
Imprime n veces una frase ingresada por teclado.
FUNCIONES
Se define como un script dentro de un script. Sirve para organizar un script en
unidades lgicas de manera que sea mas fcil mantenerlo y programarlo.
Sintaxis
function nombre_de_funcion(){
comandos_del_shell
}
FUNCIONES
Ejercicio
Realizar la suma y resta de dos nmeros usando funciones:

Vous aimerez peut-être aussi