Trabajo Final de Linux Básico

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

Shell Script

Docente Catedrático: Ingeniero Jesús Manuel Arrieta Madrid.

Dana Karina González Díaz.

Sebastián Mendoza Polo.

Marolyn Andrea Salazar Restán.

Universidad de Córdoba.

Departamento de Ingeniería de Sistemas y telecomunicaciones.

Facultad de ingeniería.

Programa de Ingeniería De Sistemas.

Febrero 2022
Tema: Shell Script
1. Concepto y orígenes de shell Script

 CONCEPTO: Un guion de concha o guion de shell (en inglés shell script) es

un programa de ordenador diseñado para ser ejecutado por el shell de Unix,

un intérprete de línea de comandos.1 Los varios dialectos de guiones de shell están

considerados como lenguajes de guionado o de scripting. Las operaciones típicas

ejecutadas por los guiones de shell incluyen manipulación de archivos, ejecución

de programas e impresión de texto. Un guion que instala el entorno ejecuta el

programa y hace el cleanup (limpieza), logging, etc. necesario, se conoce

como wrapper o envoltorio.

El término también se utiliza de forma más general para significar el modo

automatizado de correr un shell de sistema operativo; en sistemas operativos concretos

se denominan de otra forma como archivos de lote o batch files (MSDos-Windows95,

OS/2), procedimientos de comandos (VMS), y guiones de shell (Windows NT y

derivados de terceras partes como 4NT), y sistemas operativos de mainframes están

asociados con un número de términos.

 ORIGEN: l shell considerado más antiguo es el Bourne Shell (sh). Fue escrito en

los años 70 por Steve Bourne en los laboratorios AT&T. Además de ejecutar

comandos, dispone de funcionalidades de programación.


Durante el mismo periodo, Bill Joy inventa el C-Shell (csh), incompatible

con el Bourne, pero que ofrece funcionalidades suplementarias como el histórico de

comandos, el control de tareas, así como la posibilidad de crear alias de comandos.

Estos tres aspectos se retomarán más tarde en el Korn Shell. El C-shell se usa poco en

el mundo Unix.

En 1983, David Korn retoma el Bourne Shell y lo enriquece. Este nuevo intérprete

tomará el nombre de Korn Shell (ksh). Este último se usará cada vez más hasta el

punto de convertirse en un estándar de hecho. El ksh 88 (versión de 1988) es junto

con el Bourne Again Shell (ver a continuación) el shell más utilizado actualmente. Ha

servido como base para la estandarización del shell (IEEE Posix 1003.2).

En 1993, una nueva versión de Korn Shell ve la luz. Presenta una

retrocompatibilidad con ksh 88, con algunas excepciones. ksh 93 (/usr/bin/ksh93) está

disponible de forme estándar en algunas versiones UNIX recientes: Solaris 11, AIX 6

y 7.

La Free Software Foundation propone el Bourne Again Shell (bash). Sigue la

normativa POSIX a la que ha añadido algunas extensiones. 

2. Funcionalidades de shell script (para que sirve, que se puede hacer en

el)

 FUNCIONAMIENTO:
El lenguaje shell es un lenguaje interpretado, en el que se leen líneas de

texto (terminadas en \n), se analizan y se procesan. Las líneas a interpretar son leídas

de:

 La entrada estándar (teclado por defecto). En este caso el shell se dice que es

un shell interactivo.

 Un fichero shell-script.

 Los argumentos, con la opción -c al ejecutar el shell. Ejemplo: bash –c "ls –

l"

Con las líneas leídas, el shell realiza los siguientes pasos (en este orden):

 Se dividen las líneas en distintos elementos: palabras y operadores. Los

elementos se separan usando espacios, tabuladores y operadores. El carácter # sirve

para incluir un comentario, que se elimina del procesamiento.

 Se distingue entre comandos simples, comandos compuestos y definiciones

de función.

 Se realizan distintas expansiones y sustituciones (ver más adelante). Se

detecta el comando a ejecutar y los argumentos que se le van a pasar.

 Se realizan las redirecciones de entrada/salida y se eliminan los elementos

asociados a las redirecciones de la lista de argumentos. Las redirecciones de

entrada/salida ya se han explicado en un tema anterior (si desea ampliar

información, consulte el anexo).

 Se ejecuta el elemento ejecutable, que podría ser una función, un comando

interno del shell, un fichero ejecutable o un shell-script, pasando los argumentos

como parámetros posicionales (ver más adelante).


 Opcionalmente, se espera a que termine el comando y se guarda el

código de salida.

 ¿PARA QUÉ SIRVE?

El objetivo de los lenguajes de programación es darle órdenes adecuadas al equipo

de cómputo para que realice diversas tareas. Existen diferentes clases o tipos de

lenguajes de programación. El más básico es el lenguaje de máquina, que utiliza el

alfabeto binario para escribir las instrucciones en el propio código de la máquina y por

eso no necesita ninguna traducción.

3. Utilidad de shell script en el campo laboral

En el campo laboral se usa para automatizar las tareas, lo que permite ahorrar tiempo

como en archivar y cargar archivos todos los días en una instalación de almacenamiento

en la nube; comprimir archivos de registro que tienen la tendencia a aumentar

diariamente; permite analizar patrones en archivos de texto, extraer información, entre

otros; y, abrir o cerrar múltiples aplicaciones de una vez.

4. Sintaxis de shell script (cómo y dónde crear programas sencillos y ejecutarlos)

Sintaxis de Shell script (cómo y dónde crear programas sencillos y ejecutarlos)

En su forma más básica, un Shell-script puede ser un simple fichero de texto que

contenga uno o varios comandos. Para ayudar a la identificación del contenido a partir del

nombre del archivo, es habitual que los Shell scripts tengan la extensión ".sh", por lo que

seguiremos este criterio. Por ejemplo, el siguiente fichero sería un Shell-script:


Además de comandos, los Shell-scripts pueden contener otros elementos, aportados por

el Shell para mejorar la funcionalidad de los scripts. De forma resumida, la estructura

básica de un Shell-script es la siguiente:

El proceso para crear un Shell script es muy sencillo. Tan simple como crear un nuevo

archivo y ponerle la extensión .sh. Existen dos alternativas para hacerlo, puede ser mediante

la interfaz gráfica o desde la consola utilizando el comando touch.

Por ejemplo,

touch prueba.sh

Ahora que ya tenemos el archivo creado y abierto, debemos indicarle a Linux que dicho

archivo será un script. Por lo tanto, todos los Shell script, obligatoriamente deben tener una

primera línea que es:


#! /bin/bash

Esta línea podemos segmentarla en dos partes, la primera corresponde a #!, esta

secuencia es denominada sha bang. Básicamente, su función es indicar al sistema que a

continuación se presentara un conjunto de instrucciones y de este modo sean procesadas. La

segunda parte, /bin/bash, indica el Shell que será utilizado para la ejecución de los

comandos.

Previo a la ejecución del Shell script, debemos otorgarle permisos de ejecución al

archivo. Esto es algo muy simple de realizar. Vamos a la terminal y nos ubicamos en el

directorio de nuestro script y usamos el comando chmod:

Si queremos otorgar permisos al usuario actual, usamos:

sudo chmod 775 prueba.sh

En caso de que queramos otorgar permisos a todos los usuarios, la sentencia seria:

sudo chmod 777 prueba.sh

Una vez que ya hemos concedido los permisos, ejecutamos el script:

./prueba.sh
5. Ejemplo de un programa sencillo en shell script (ejemplo: suma de dos

valores ingresados por pantalla)

Implementar un shell script que verifique cada 30 segundos si existe en el directorio

actual un fichero prueba.txt. Para probar este guión es necesario ejecutarlo en segundo

plano.}

#!/bin/bash

until test –e prueba.txt

do

sleep 30

done

echo Ya apareció el archivo prueba.txt

otro ejemplo,

#!/bin/bash

# Prueba de rango de cadena.

echo; echo "Hit a key, then hit return."

read Keypress

case "$Keypress" in

[[:lower:]] ) echo "Lowercase letter";;

[[:upper:]] ) echo "Uppercase letter";;

[0-9] ) echo "Digit";;


* ) echo "Punctuation, whitespace, or other";;

esac # permite que el rango de la cadena aparezca entre [corchetes],

# + O aparece en estilo POSIX [(corchetes dobles.

# En la primera versión de este ejemplo,

# + Pruebe cadenas en mayúsculas y minúsculas usando

# + [a-z] y [A-Z].

# Este uso no funciona correctamente en ciertas ocasiones o en ciertas

distribuciones de Linux.

# El estilo POSIX es más portátil.

# Gracias a Frank Wang por señalar esto.

# Ejercicio:

# -----

# Como muestra este script, solo permite una sola pulsación de tecla, y luego termina.

# Modifique este script para que pueda aceptar entradas repetidas,

# + Informe cada pulsación de tecla y solo finalizará cuando se escriba "X".

# Sugerencia: use "while" para recorrer todo este código.

exit 0
Bibliografía

https://ediciones.ucc.edu.co/index.php/ucc/catalog/download/158/156/868-1?

inline=1

http://trajano.us.es/~fjfj/shell/shellscript.htm#:~:text=La%20sintaxis%20de%20los

%20shell,los%20scripts%20que%20se%20proponen

https://www.hostinger.co/tutoriales/bash-script-linux

https://www.profesionalreview.com/2017/03/12/shell-script-linux/

https://computernewage.com/2018/09/16/scripting-linux-introduccion/

#:~:text=Ventajas%20de%20Utilizar%20Scripts,-Anuncios&text=Los%20shell

%20scripts%20son%20t%C3%ADpicamente,es%20la%20automatizaci%C3%B3n

%20de%20tareas.

https://es.ephesossoftware.com/articles/programming/what-is-shell-scripting-and-

why-you-should-use-it.html

También podría gustarte