Sei sulla pagina 1di 28

ASO3501 –ADMINISTRACIÓN DE SISTEMAS

OPERATIVOS OPENSOURCE

Docente: Andrés Aldana


Unidad de Aprendizaje N°3
Programación de Scripts en el
Sistema Operativo RHEL

Experiencia de Aprendizaje 3:
Programación de scripts BASH en RHEL
Scripts básicos en RHEL 6

Objetivos:
• Construir rutinas scripting para automatizar tareas
administrativas en un sistema operativo RHEL de acuerdo
con las necesidades de la organización.
• Construir rutinas scripting para monitorizar y controlar
procesos y/o eventos en un sistema operativo RHEL de
acuerdo con las necesidades de la organización.
Introducción

• El BASH de GNU/LINUX es tanto un intérprete de


comandos o SHELL, como un lenguaje de programación de
alto nivel. Como intérprete de comandos, procesa las
órdenes introducidas en respuesta a su indicación.
Utilizado como lenguaje de programación, el BASH procesa
grupos de órdenes almacenados en archivos llamados
SCRIPTS.
Introducción

• Se podrán elaborar SCRIPTS que permitan automatizar y


encadenar tareas relacionadas con la administración del
sistema, tareas repetitivas y generalmente tediosas, etc.
¿Qué es un SHELL?

• El SHELL es el intérprete de comandos de un sistema


UNIX/LINUX.
• El SHELL es una interfaz que nos proporciona utilidades de
trabajo y permite establecer una relación con el kernel (o
núcleo) del sistema operativo. Es decir, el SHELL reconoce
una serie de órdenes o comandos, los interpreta y lanza los
procesos necesarios para su realización.
¿Qué es un SHELL?
Los SHELLs de Linux
¿Qué es BASH?

• El BASH es un intérprete de comandos o SHELL


desarrollado para el proyecto “GNU operating system”.
• El BASH Potencia la interactividad, soportando edición en
línea de comandos, capacidad de completar
automáticamente un comando, etc. También soporta
prompts configurables.
¿Qué es BASH?

• El BASH de GNU/LINUX es tanto un intérprete de


comandos o SHELL, como un lenguaje de programación de
alto nivel.
• Como intérprete de comandos, procesa las órdenes
introducidas en respuesta a su indicación. Utilizado como
lenguaje de programación, el BASH procesa grupos de
órdenes almacenados en archivos llamados SCRIPTS.
Archivos de “arranque” de BASH
Histórico de comandos en BASH

• El BASH mantiene una historia de comandos.


• El histórico de comandos se guarda en el archivo
.bash_history, donde están guardados todos los comandos
escritos.
• El histórico de comandos se accede a través del comando
history, y tiene varias opciones que se pueden cambiar
para tener un mejor control del mismo.
Histórico de comandos en BASH

• HISTSIZE y HISTFILESIZE para el control del tamaño del


archivo de histórico.
• HISTCONTROL para el control de duplicados en el
histórico.
• HISTFILE para indicar donde guardar el histórico.
• HISTTIMEFORMAT para formatear la salida del histórico.
• El comando history –c permite borrar el histórico de
comando de tu sesión.
Scripts Shell

• Un archivo de SHELL SCRIPT es un grupo de comandos,


funciones y variables, reconocidos por LINUX o bien ser
parte del juego de instrucciones del SHELL que se esté
utilizando.
• Un SCRIPT o procedimiento SHELL es un archivo con
órdenes o comandos BASH ejecutables.
Shell Scripts en BASH

• En BASH los SHELL SCRIPTS deben comenzar con la línea:


#!/bin/bash
• Los caracteres #! de la primera línea de un SCRIPT, indican
al sistema que el primer argumento que sigue en la línea es
el programa a utilizar para ejecutar este script.
Shell Scripts en BASH

• En un SHELL SCRIPT se pueden utilizar variables.


• Una variable puede contener un número, un carácter o una
cadena de caracteres.
• En BASH una variable NO necesita ser declarada. En BASH,
por defecto, todas las variables son tratadas como cadenas
de caracteres.
Shell Scripts en BASH

• En BASH La asignación de variables se realiza simplemente


indicando su nombre, un signo =, y el valor, tal como en los
siguientes ejemplos:
[alumno@localhost ~]$ msg=“Alumno DUOC”
[alumno@localhost ~]$ var1=23
• si queremos imprimir en pantalla el valor de la variable
msg que creamos antes, se debe escribir:
[alumno@localhost ~]$ echo $msg
Shell Scripts en BASH

• En BASH la entrada/salida puede manejarse a través de los


comandos echo y read.
• Con estas órdenes el SCRIPT podrá interactuar con el
usuario, recibiendo datos desde el exterior por medio del
teclado (read) y mostrando en pantalla los resultados
(echo).
Shell Scripts en BASH

• Por ejemplo, consideremos nuestro primer script:


#!/bin/bash
clear
echo -e “Ingresar su nombre: \c”
read nombre
echo -e “hola $nombre\n”

• “\n” corresponde a un salto de línea y “\c” suprime el


carácter salto de línea.
Shell Scripts en BASH

• Para realizar operaciones aritméticas en BASH se utiliza el


comando expr, cuya sintaxis es la siguiente:
expr argumento1 operación argumento2
• Veamos algunos ejemplos de uso de expr:
[alumno@localhost ~]$ expr 15 + 10
25
[alumno@localhost ~]$ expr 15 \* 10
150
Shell Scripts en BASH

• El resultado del comando expr es enviado a la salida


estándar (pantalla). Para hacer que el resultado de una
operación aritmética se almacene en una variable
debemos usar una orden de la forma:
variable=$(expr arg1 operación arg2).
• Por ejemplo:
[alumno@localhost ~]$ resto=$(expr 15 % 2)
[alumno@localhost ~]$ echo $resto
Shell Scripts en BASH

• Existen varias formas alternativas de realizar OPERACIONES


ARITMÉTICAS en BASH, por ejemplo:
[alumno@localhost ~]$ echo $((1 + 1))
• Para operaciones con reales se debe usar el programa bc,
por ejemplo:
[alumno@localhost ~]$ echo 3/4 | bc -l
• La variable scale determina el número de dígitos que
siguen al punto decimal en el resultado presentado por bc.
Shell Scripts en BASH

• Por defecto, el valor de la variable scale es cero, salvo que


usemos la opción -l en cuyo caso por defecto vale 20
posiciones decimales. Por ejemplo:
[alumno@localhost ~]$ echo "scale=25;57/43" | bc
1.3255813953488372093023255
Resumen

• El BASH es un intérprete de comandos o SHELL


desarrollado para el proyecto “GNU operating system” y es
el SHELL por defecto en la mayoría de las distribuciones de
GNU/LINUX disponibles en la actualidad.
• El BASH de GNU/LINUX es tanto un intérprete de
comandos o SHELL, como un lenguaje de programación de
alto nivel.
Resumen

• El SHELL reconoce una serie de órdenes o comandos, los


interpreta y lanza los procesos necesarios para su
realización.
• Además de BASH, en GNU/LINUX hay varios tipos de
SHELLS, entre estos: ksh o KORN SHELL y el csh o C SHELL.
• Un SCRIPT o procedimiento SHELL es un archivo con
órdenes o comandos BASH ejecutables.
Resumen

• En un SHELL SCRIPT se pueden utilizar variables, estas NO


necesitan ser declaradas.
• En BASH la E/S puede manejarse a través de los comandos
echo y read: echo permite desplegar o imprimir en
pantalla, y read, leer desde teclado.
• Para realizar operaciones aritméticas en BASH se utiliza el
comando expr. Los LINUX actuales ofrecen varias formas
de realizar operaciones aritméticas.
Resumen

• Para operaciones con reales se debe usar el programa bc.


• El BASH de GNU/LINUX soporta dos tipos de sentencias de
control del flujo: SENTENCIAS CONDICIONALES (if, case) y
SENTENCIAS ITERATIVAS (while, for).
• Las SENTENCIAS CONDICIONALES son las que nos permiten
decidir por un camino, entre dos ó más posibles, dada una
condición.
Resumen

• If-then, if-then-else – Permiten ejecutar una serie de


comandos dependiendo si una cierta condición se cumple
o no.
• Case – Permite ejecutar una o varias listas de comandos
dependiendo del valor de una variable.

Potrebbero piacerti anche