PDF de programación - CREACIÓN DE SCRIPTS EN LINUX

Imágen de pdf CREACIÓN DE SCRIPTS EN LINUX

CREACIÓN DE SCRIPTS EN LINUXgráfica de visualizaciones

Publicado el 22 de Marzo del 2018
954 visualizaciones desde el 22 de Marzo del 2018
550,0 KB
32 paginas
Creado hace 18a (28/05/2008)
Documentos Aula SUN UCM

CREACIÓN DE SCRIPTS

EN LINUX

26 Mayo 2008

Autores:

Sergio Velasco

Alicia Martín

Aula SUN UCM de Software Libre

SCRIPTS EN LINUX

INDICE

1-
2-
3-

4-
5-

6-
7-
8-
9-
10-
11-

12-

13-

¿Que es el shell script?.............................................................................. 3
¿Cómo ejecutar un script?........................................................................ 3
Código de un script.................................................................................... 4
Ejemplos......................................................................................... 5
3.1- Depuración.............................................................................. 6
3.2- Estructuras condicionales...................................................... 6
3.3- Operaciones algebráicas.........................................................9
Bucles FOR.................................................................................................11
Bucles WHILE.............................................................................................
13

5.1- Comando test...........................................................................13
5.2- While........................................................................................ 15
5.3- Until..........................................................................................17
Parametros posicionales............................................................................ 18
IFS Delimitador..........................................................................................19
Arrays......................................................................................................... 20
Funciones.................................................................................................... 21
Leer un fichero........................................................................................... 23
Creación de demonios................................................................................24
11.1- Ejecutar un demonio o script sin contraseña..................... 27

Uso del Cron................................................................................................
27
Colores en la consola..................................................................................29

2

SCRIPTS EN LINUX

CREACIÓN DE SCRIPTS EN LINUX

Definición de Script: Un script es un archivo que incluye un conjunto de comandos.
Son ejecutados desde la primera línea hasta la última (de forma secuencial).

1-

¿QUÉ ES EL SHELL SCRIPT?

Un Shell Script es un script para la shell de comandos (terminal). Para crear un script
vasta con un editar un fichero nuevo y en el nombre poner .sh Ejemplo: HolaMundo.sh

Un vez creado, empezamos a editarlo. Se puede utilizar un editor de textos gráfico
como gedit o un editor en terminal como vim, nano o emacs.

En la primera línea del script se debe indicar que shell que vas a usar ( /bin/bash/ , /usr/
bin/perl , etc ) Aunque da igual la que uses lo importante es el contenido:
#! /bin/bash

#! Se conoce con el nombre de Sha Bang.

Se denomina “sha-bang” a la secuencia #! con la que se inician los scripts. Su función
es indicarle al sistema que se trata de un conjunto de comandos para que sean
interpretados. En realidad, es un número mágico de dos bytes. El número mágico es un
marcador especial para indicar el tipo de archivo, en este caso, indica que se trata de un
script de shell ejecutable.

Para introducir comentarios se debe poner #. Por cada linea que deseéis poner un
comentario, lo primero que debe tener es #. Es importante añadir comentarios
comentando la utilidad del script o las variables que se crean.

2-

¿CÓMO EJECUTAR UN SCRIPT?

Antes de poder ejecutarlo, debemos darle permisos de ejecución. (+x) por ello, haremos
uso del comando chmod y damos permisos de ejecución, si se desea, se pueden dar a
todos los usuarios y grupos.

chmod 755 /ruta_del_script Para el usuario propietario

chmod 777 /ruta_del_script Para cualquier usuario

Una vez hecho todo lo anterior, usaremos:

./nombredelscript.sh

3

SCRIPTS EN LINUX

Pero también podemos usar si es un shell script:

sh nombredelscript.sh

3-

CÓDIGO DE UN SCRIPT

Ya tenemos el script creado, le hemos puesto la cabecera y le hemos cambiado los
permisos, ya solo falta meter el código.

Vamos a empezar desarrollando lo esencial para ir desarrollando estructuras más
complejas:

Lo primero es saber cómo dar valor a una variable. Es tan sencillo como poner:
nombre_variable=valor

Si deseas guardar la salida de un programa solo tienes que ponerlo entre tildes
invertidas:
nombre_variable=`comando`

Tambien hay un comando que lee por teclado las variables ( read ). Para ponerlo es:
read [opciones] nombre_variable1 nombre_variable2 nombre_variableN
ejemplo:
read -p “Introduce el nombre y los apellidos” nombre apellidos

Tiene un montón de opciones pero estas son las más importantes y usadas:

-n num_car : Número máximo de caracteres que puedes introducir por teclado
-p “frase” : Te muestra por pantalla una frase para tu saber que debes introducir
-d “delimitador” : Especificas cual va a ser el delimitador, es decir si dices que el
delimitador sera “;” pues todo lo que venga antes de un “;” lo cogerá una variable y todo
lo que venga después de ese delimitador hasta el próximo “;” lo cogerá otra variable.

Cuando queremos utilizar el valor de una variable en el código, nos referiremos a éste
como:
$nombre_variable

4

SCRIPTS EN LINUX

EJEMPLOS 1

Estos son algunos de los ejemplos de esta primera parte. Para ejecutarlos sólo hay que
crear un archivo .sh y copiar las letras negras, lo azul es la sugerencia para el nombre
del script.

A lo largo de los ejemplos se introducen algunos comandos básicos de Linux.

HolaMundo.sh
#! /bin/bash
clear
echo “Hola mundo ,este es mi primer script”

ScriptUno.sh
#! /bin/bash
clear
nombre=“Perico”
apellidos=“Palotes”
echo “Te llamas $nombre $apellidos”

Fecha.sh
#! /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 es una variable de entorno que determina el delimitador de
#campos
# (que por defecto vale “ ”),en este script queremos
# cambiarlo a “,” para escribir por teclado nombre,apellidos
IFS=“,”
read -p “Introduce el nombre,apellidos : ” nombre apellidos
echo “El nombre es $nombre y los apellidos son $apellidos”

5

SCRIPTS EN LINUX

3.1- Depuración

Depuración de programas es el proceso de identificar y corregir errores de

programación.

En inglés se le conoce como debugging, ya que se asemeja a la eliminación de
bichos (bugs), manera en que se conoce informalmente a los errores de programación.
Se dice que el término bug proviene de la época de las computadoras de bulbos, en las
cuales los problemas se generaban por los insectos que eran atraídos por las luces y
estropeaban el equipo.

Depurar el código sirve para ver como se ejecuta paso por paso el script, que
valores toman sus variables, si has cometido un fallo saber en que parte del código ha
sido, etc. No es algo que se deba hacer obligatoriamente por cada script realizado (sería
demasiado pesado) pero te facilita mucho a la hora de buscar el problema que te surja.
Hay dos formas :

bien



en

línea

la



1.O
-v
-x –> Te muestra las instrucciones antes de ejecutarlas por consola y sustituyendo
las
variables
-v –> Te muestra todo pero sin sustituir las variables
set
2.O
Cambiando las opciones de ejecución de la shell a lo largo del script, también con
las opciones -x | -v

Mediante

/bin/bash



-x



|



#!



3.2-

Estructuras condicionales

La estructura básica de una condición sería:
if condición
then
comando1
...
...
else
comando1
...
...
fi

Como veis la condición si (if) se cierra con su correspondiente fi que al parecer un juego
de palabras es fácil de recordar.
Entonces si la condición se cumple entraría por el then, en caso de que no, por el else.
Pero este es un método simple, luego tenemos uno más complejo con if anidados, sería:

6

SCRIPTS EN LINUX
if condición
then
comando1
elif condición
then
comando
elif condición
then
...
fi

Ahora lo que hace es evaluar la condición, si es verdadera entra por el then, pero
si no y se da el caso de otra condición entraría por el elif, los elif no se cierran,
solamente el fi final corresponde a la apertura del if.
La condición es cualquier cosa que de un return (que devuelva) algo que sea 0 o
verdadero.
Notese el uso del archivo /dev/null como archivo vacío para comprobar algunas
condicionales.
Vemos como podemos hacer un script para comprobar que realmente la ruta es un
directorio.
CompruebaDirectorio.sh
#! /bin/bash
clear
if `cd /tmp/prueba/ >/dev/null`
then
echo “Pues si, es un directorio y contiene…”
ls -l
else
echo “Pues va a ser que no es un directorio”
fi

Este script es un claro ejemplo de como comprobar si un usuario y un grupo existen en
el sistema, vemos también el uso que se le da al elif.

ExisteGrupoUsuario.sh
#! /bin/bash
clear
read -p “Introduce usuario… ” user
read -p “Introduce grupo… ” group
if `grep -e “^$user:.*” /etc/passwd >/dev/null`
then
if `grep -e “^$group:.*” /etc/group >/dev/null`
then
echo “Usuario y grupo ya existen en el sistema”
fi
elif `grep -e “^$group:.*” /etc/group >/dev/null`
then
echo “usuario no existe, grupo si!!”
else
echo “Ni grupo ni usuario existen”
fi

7

SCRIPTS EN LINUX

Condicionales case

Se estructuran de la siguiente forma:
case expresion in
caso1) comandos ;;
caso2) comandos ;;
*) comandos ;;
esac

Para aquellos que sepan de programación, funciona igual que los
  • Links de descarga
http://lwp-l.com/pdf9783

Comentarios de: CREACIÓN DE SCRIPTS EN LINUX (1)

gustabo5002
22 de Marzo del 2025
estrellaestrellaestrellaestrellaestrella
Exelente aporte gracias
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad