Want to create interactive content? It’s easy in Genially!
Introducción a Shell Script
Diego Daluz
Created on October 17, 2022
Start designing with a free template
Discover more than 1500 professional designs like these:
Transcript
Shell Scripting
Prof. Diego Daluz
Empezar
Shell Scripting
1.
Shell
7.
Variables
2.
Script de shell
8.
Variables de entorno
3.
Tipos de shell
9.
Parámetros posicionales
Contenido
4.
Características
10.
Comandos útiles
11.
5.
Estructuras de control
Escribir script
6.
"Hola mundo"
12.
Referencias
Permite a los usuariso insertar comandos en la línea de comandos. La shell los interpreta y envía instrucciones al sistema operativo.
Shell
La Shell es un intérprete de comandos cuya interfaz se orienta al trabajo en línea, interactiva y no interactiva, entre usuario y sistema operativo.
Petersen, 2008, 35.
La shell puede utilizarse cómo:
Intérprete de comandos
Lenguaje de programación
USOS:
- Interface entre el usuario y el sistema operativo.
- Ejecuta los programas que el usuario escribe en el prompt.
USOS:
- La shell puede programarse a través de archivos de texto que contienen órdenes. Estas, se interpretarán cuando los archivos sean invocados.
- Es decir: se pueden crear archivos que contengan comandos y convertirse en comandos en sí mismos.
+ INFO
+ INFO
Petersen, 2009, pág. 35.
Más aquí.
shell script
- Es un archivo de texto que contiene secuencias de comandos Linux combinados para realizar tareas específicas.
Estructuras de control
Ejecución
Variables
Es posible tener varios shell scripts ejecutándose al mismo tiempo. Y pueden ejecutarse la cantidad de veces que se deseen, realizando las operaciones que se programaron.
Podemos definir variables y asignarle valores o permitir que un usuario inserte valores de forma interactiva.
Dispondremos de bucles y estructuras de control para realizar operaciones aritméticas o de comparación.
+ INFO
Petersen, 2008, 65.
Tipos de shell
- Bourne shell (/bin/sh)
- Korn shell (/bin/ksh)
- Bourne-Again shell (/bin/bash)
- C shell (/bin/csh)
Por defecto, cada usuario tiene asignada una shell, que se establece en el momento de la creación de la cuenta, y se guarda en el archivo /etc/passwd
+ INFO
+ INFO
Cambio de shell
Puede cambiarse con el comando chsh Ejemplo: chsh -s <nombreShell>
+ INFO
La shell que usa la mayoría de las distribuciones por defecto es BASH (Bourne-Again Shell), cuyo ejecutable es: /bin/bash
+ INFO
Características
sh ell
Redireccionar E/S
Alias
Tuberías
>, >>, <
Metacaracteres
Historial
Variables
history
Entorno
[a-z]
Usuario
{sh,txt}
[059]
[^ab]
` `
" "
' '
Procesos
Foreground Background
Guión de script
Escribir scripts
Podemos resumir cómo crear y utilizar scripts en cuatro simples pasos:
- 1
Escribo mi script
- 2
Lo guardo
- 3
Le doy permiso de ejecución
- 4
Lo ejecuto
Nota: en GNU/Linux no son necesarias las extensiones, podemos darle extensión .sh para identificar fácilmente que se trata de un script.
Nuestro primer script: "Hola mundo"
primerScript.sh
12 3 4
Escribo mi script
Guardo el archivo
Otorgo permisos de ejecución
- Todo script comienza con una línea semejante a esta:
- #!/bin/bash
- Dice que es un script
- Indica con qué shell se debe interpretar
- Los comentarios van precedidos del símbolo numeral #.
- Pero esto que vimos no es un comentario.
Ejecuto el script
#! SHA-BANG
+ INFO
Variables de shell
Variables de shell
- Al igual que en otros lenguajes, sirven para almacenar datos.
- Para definirlas, sólo basta con digitar el nombre seguido de un símbolo = continuando con el valor.
- a=hola
- h=22:30
- horaAc="la hora actual es: "
- echo $a
- hola
- echo $horaAc$h
- la hora actual es: 22:30
+ INFO
EJEMPLOS
Listas de variables
Petersen, 2008, 66-69.
Variables de entorno
- El sistema establece el entorno del sistema mediante un conjunto de especificaciones definidas en los archivos de inicialización.
- Si se desea modificar algún parámetro de manera temporal lo hacemos directamente en la terminal.
- Pero si queremos modificar el entorno de trabajo de un modo más permanente, podemos almacenar variables de entorno "permanentes" en los archivos de inicialización.
- .profile, .login o .cshrc
HOME
PATH
PS1
LOGNAME
SHELL
TERM
LANG
+ INFO
Más aquí.
parámetros posicionales
- Son parámetros disponibles dentro del shell script como variables.
- Se ingresan a continuación del nombre del script y se separan por espacios.
- Ej.:
- ./script.sh hola como estas
+ INFO
Ejemplo
Pruebennn :)
Comando read
Comando let
Comando test
+ INFO
Comando expr
+ INFO
Permite efectuar una serie de pruebas sobre los archivos, las cadenas de caracteres, los valores aritméticos y el entorno de usuario.
Lee información escrita en la línea de comandos de forma interactiva.
Estos comandos devuelve en su salida estándar el resultado de operaciones aritméticas.
+ INFO
+ INFO
comandos útiles en scripts
Operadores relacionales
Operadores aritméticos
= != > <
+ - * / %
Comando sleep
Hace una pausa durante un número determinado de segundos antes de continuar con lo siguiente.
+ INFO
estructuras de control
Lorem salutandi eu mea, eam in soleat iriure assentior. Tamquam lobortis id qui. Ea sanctus democritum mei.
Escribe un título aquí
Expetenda tincidunt in sed, ex partem placerat sea, porro commodo ex eam. His putant aeterno interesset at. Usu ea mundi tincidunt, omnium virtute.
Empresa 2
Empresa 1
An vim commodo dolorem volutpat, cu expetendis voluptatum usu, et mutat.
An vim commodo dolorem volutpat, cu expetendis voluptatum usu, et mutat.
+ INFO
+ INFO
Empresa 4
Empresa 3
An vim commodo dolorem volutpat, cu expetendis voluptatum usu, et mutat.
An vim commodo dolorem volutpat, cu expetendis voluptatum usu, et mutat.
+ INFO
+ INFO
Objetivo 2
Objetivo 1
Objetivo 3
ACCIONES:
- His audiam deserunt in, eum ubique voluptatibus te.
- In reque dicta usu. Ne rebum dissentiet eam, vim omnis.
ACCIONES:
- His audiam deserunt in, eum ubique voluptatibus te.
- In reque dicta usu. Ne rebum dissentiet eam, vim omnis.
ACCIONES:
- His audiam deserunt in, eum ubique voluptatibus te.
- In reque dicta usu. Ne rebum dissentiet eam, vim omnis.
+ INFO
+ INFO
+ INFO
Referencias
- Petersen, R. (2008). Linux Manual de Referencia. McGraw-Hill Interamericana de España S.L.
- https://www.gnu.org/software/bash/manual/bash.html
- https://www.gnu.org/software/bash/manual/bash.html#What-is-Bash_003f
- https://linux.ciberaula.com/articulo/Curso_comandos_en_Linux_II/
- Apuntes del curso Administración Linux Prof. Alejandro Martínez y Prof. Gustavo Farías
Dudas, mejoras o cunsultas:
profdiegodaluz@gmail.com