Want to create interactive content? It’s easy in Genially!

Get started free

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
$0 $1 $2 $3

+ 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