Vous êtes sur la page 1sur 21

SISTEMAS OPERATIVOS

Clase 17: Scripts en Linux


Lunes ,28 de noviembre de 2016

Diana Martnez, MSc.


diana.martinez.epn@gmail.com

ESCUELA POLITECNICA NACIONAL


QUITO-ECUADOR

Copyright @2016, D. Martnez

29/11/2016
Que es un Script ?

Un script es un archivo que contiene un conjunto de comandos que son


ejecutados secuencialmente, desde el primero hasta el ultimo.

Creacin de un script
1. Creamos un archivo de extensin .sh
2. Editamos el archivo
3. Aadimos permisos de ejecucin
4. Ejecutamos el archivo
Primer ejemplo
Primera lnea en
todos los scripts
Script

hola.sh
#!/bin/bash
# Primer script
echo Hola Mundo
comentario comando

Ejecucin:
$./hola.sh
Hola Mundo
Primera lnea del Script

Todos los scripts tienen una primera lneas #! /bin/bash

#! A esta secuencia de dos caracteres se le denomina como sha bang,


indica al sistema que lo que viene a continuacin son instrucciones de
comando, para que este las procese como tal.

/bin/bash indica el shell que va a utilizar el script para ejecutar los


comandos.
Comentarios

Los comentarios se aaden con el simbolo # .


Despus del smbolo aadimos el texto que nos interese.
Normalmente estos comentarios se aaden antes de una
instruccin para explicar la funcionalidad.
Comandos

Cualquier comando que podamos utilizar en la lnea de comandos lo


podemos introducir en nuestro Script.

Adems de estos comandos podemos utilizar muchas otras


herramientas como operadores aritmticos, comparadores,
estructuras condicionales.
Comando echo

Se encarga de repetir o desplegar en la salida estndar cualquier


argumento que se le indique.
Ejecutando el script

Para poder ejecutar nuestro script le tenemos que dar permisos de


ejecucin.

#chmod 775 hola.sh


#./hola.sh
Ejercicios

1. Cree un script llamado primero.sh que liste los ficheros del


directorio /home .
2. Cree un script llamado fecha.sh que imprima la fecha actual en
pantalla.
3. Cree un script que cree un directorio llamado sistemasoperativos.
4. Cree un script que muestre en pantalla la versin de kernel que
utiliza.
5. Cree un script que cree un archivo llamado practicaso.txt.
Variables y parmetros
Las variables permiten guardan valores numricos o cadenas de
caracteres en memoria, pudiendo acceder a esta mediante el nombre
que le asignemos.

Cmo declarar una variable?


nombre_variable=valor

Si se desea guardar la salida de un programa solo tienes que ponerlo


entre tildes invertidas:

nombre_variable=`comando`
Referencia a una variable

$nombre_variable

- Creacin $ var1=10
- Asignacin $ var2=$var1
- B orrado $ unset var1
Lectura dinmica de variables
Tambin existe un comando que lee por teclado las variables ( read ).

Uso:
read [opciones] nombre_variable1 nombre_variable2 nombre_variableN

Ejemplo:
read -p Introduce el nombre y los apellidos nombre apellidos

Opciones:
-n num_car : Nmero mximo de caracteres por teclado
-p frase : Muestra en pantalla una frase
-d delimitador : Especifica el delimitador
Ejemplos:
HolaMundo.sh
#! /bin/bash ScriptUno.sh
clear #! /bin/bash clear
echo Hola mundo ,este es mi primer script nombre=Perico
ScriptUno.sh apellidos=Palotes
echo Te llamas $nombre
$apellidos
#! /bin/bash
clear
fecha=`date | cut -d -f 1,2,3`
hora=`date | cut -d -f 4`
echo Hoy es $fecha y son las $hora
OtroScript.sh

#! /bin/bash
clear
IFS=,
read -p Introduce el nombre,apellidos : nombre apellidos
echo El nombre es $nombre y los apellidos son $apellidos
Variables numricas

Cuando creamos variables de la forma que hemos indicado, sus valores


son guardados como una cadena de caracteres, pero en muchas
ocasiones necesitaremos operar con nmeros y hacer cuentas con
ellos, para esto tenemos el comando typeset, -i se refiere a integer
(entero).

#! /bin/bash
typeset -i suma
suma=4+6
echo $suma
Arrays y tablas
Los arrays van a permitir crear estructuras de datos en la que vamos a
poder almacenar 1024 variables, se declaran mediante los corchetes []
o asignando los valores de forma directa, siendo el 0 la primera
posicin y 1023 la ultima.

Ejemplos:
#! /bin/bash
ciudad[0]="Madrid"
ciudad[1]="Tokyo"
ciudad[2]="Berlin"
ciudad[4]="Lima"
echo ${ciudad[4]}
Lima
Ejemplos:

#! /bin/bash #! /bin/bash
ciudad[0]="Madrid" ciudad=(Madrid Tokyo Berlin Lima)
ciudad[1]="Tokyo" echo ${ciudad[4]}
ciudad[2]="Berlin"
ciudad[4]="Lima" #rango
echo ${ciudad[*]} #! /bin/bash
ciudad=(Madrid Tokyo Berlin Lima)
echo ${ciudad[4]:1:3}
Estructuras condicionales
La estructura bsica de una condicin sera:
if condicin
then
comando1
...
...
else
comando1
...
...
fi
(if) se cierra con su correspondiente fi
Si la condicin se cumple se ejecuta then, caso contrario else.
Ejemplos:
#! /bin/bash
var1=$1
var2=$2

if [ $var1 = $var2 ]; then


echo "Son iguales"
else
echo "Son diferentes"
fi

Pruebas:
./if.sh hola hola
./if.sh hola adis
Evaluacin mltiple con case-esac
cat case.sh

#! /bin/bash
read a
case $a in
1)
echo "uno"
;;
2)
echo "dos"
;;
*)
echo "ni idea de que numero es"
;;
esac

Pruebas
./cate.sh
5
./cate.sh
1
Ejercicios

1. Crear un script que solicite adivinar un nmero del 1 al 100


2. Crear un script que diga Hola si el usuario se llama Pedro y Adios si
tiene otro nombre.
3. Crear un script que identifique si el fichero indicado es directorio o
fichero.

Vous aimerez peut-être aussi