SlideShare una empresa de Scribd logo
Introducción a
Shell Script
Prof. Pablo Macón
http://pablomacon.wix.com/home/
profemacon@gmail.com
Introducción a Shell Scripting
La idea es combinar secuencias de comandos de Linux
para realizar determinadas tareas.
Con shell scripts podremos definir variables y asignarles
valores o permitir que un usuario inserte valores de
forma interactiva.
Introducción a Shell Scripting
En este lenguaje de programación disponemos de bucles
y estructuras de control para realizar operaciones
aritméticas o de comparación.
También podremos tener varios shell scripts
ejecutándose al mismo tiempo.
Variables
Son porciones de memoria
Asociadas a un nombre simbólico
Pueden tener un valor o contener información
Este valor puede ser cambiado en cualquier momento
Variables
En Linux, por defecto, todas las variables son cadenas
de caracteres, no hay tipos como int, char, long...
Si las queremos usar en una operación aritmética vamos
a tener que indicarle al sistema lo que queremos hacer
con un comando especial
Variables
Declarar una variable:
nombre_Variable=valor
(sin espacios a ambos lados del signo igual)
var1=hola
var2=mundo
Variables
Declarar una variable:
También podemos asignar una cadena con varias
palabras, pero para eso tenemos que ponerlas entre
comillas dobles
var3=”hola mundo”
Variables
Declarar una variable:
Podemos poner también las secuencias de escape
var4=”holanmundo”
Variables
Por último podemos poner el resultado de un comando
en una variable, con las comillas invertidas:
var6=`ls /bin`
El sistema ejecuta el comando que está entre comillas y
el resultado se pone íntegro dentro de la variable, sin
mostrarlo en la pantallas
Comando echo
El valor que está guardado en las variables puede ser
utilizado en cualquier momento, ya sea dentro de un
script como fuera de él
Hay que resaltar y recordar que cualquier comando que
podamos utilizar dentro de un script va a poder ser
utilizado fuera, en la línea de comandos que usamos
Comando echo
Uno de los muchos usos que vamos a hacer de las
variables va a ser mostrarlas en pantalla.
Ya sea para dar un saludo al usuario que está utilizando
el sistema, como para verificar si los datos ingresados
son correctos.
Comando echo
El comando que nos va a permitir ver el contenido de las
variables en la pantalla es el comando echo.
Este comando desplegará en la salida estándar cualquier
elemento o cadena de caracteres que le indiquemos
como parámetro
Comando echo
La sintaxis de este comando es:
echo [-opciones] [cadena con o sin formato]
echo “Mi nombre es Fulano de tal y nací el 30
de febrero de 1995”
mostrará en la salida estándar (pantalla) la cadena que
está entre comillas
Comando echo
Para mostrar el contenido (valor) de cualquier variable
(cualquiera haya sido el método mediante el cual la
definimos), es necesario que el nombre de la variable
esté precedida por el signo $ (pesos)
echo $miVariable
mostrará el valor de miVariable en la salida estándar
Comando echo
echo permite también formatear la salida, utilizando la
opción -e, podemos mostrar cadenas con columnas, o
dejar líneas en blanco, etc.
No olvidar nunca poner la opción -e, de lo contrario, el
efecto deseado no se va a mostrar
Comando echo
Comando echo
Probemos:
echo -e “hola amundo”
echo -e “hola bmundo”
echo -e “hola cmundo”
echo -e “hola nmundo”
echo -e “hola tmundo”
Comando echo
echo permite también formatear la salida, utilizando la
opción -e, podemos mostrar cadenas con columnas, o
dejar líneas en blanco, etc.
No olvidar nunca poner la opción -e, de lo contrario, el
efecto deseado no se va a mostrar
Comando read
De cualquier modo, aún no hemos interactuado con el
usuario. Una manera para lograr que el usuario pueda
participar con nuestro programa la vamos poder hacer
con el comando read.
Este comando permite que el valor de una variable sea
tomado desde la consola, siendo ingresado por el
usuario a través de la entrada estándar (teclado)
La sintaxis es:
read [-opciones] [Cadena] variable
read miVariable
Esperará a que el usuario ingrese un valor, una vez que
se ingrese <intro> ⤶, aquello que haya sido ingresado se
guardará en la variable de nombre miVariable
Comando read
Este comando requiere que el usuario sepa exactamente
que es lo que se espera de él.
No podemos pensar que el usuario adivinará que ante
una pantalla negra, tenga que ingresar un valor de un
tipo determinado.
Comando read
Es por ello que normalmente vamos a mostrarle algún
tipo de mensaje en la pantalla previo al uso del comando
read, indicándole al usuario qué es lo que tiene que
ingresar.
El par echo/read va a ser uno de los más utilizados en
cualquier shell script que hagamos.
Comando read
Ejemplo: Deseamos que el usuario ingrese su nombre,
apellido y edad para guardarlos en tres variables.
echo -e “Ingrese su apellido: c”; read ape
echo -e “Ingrese su nombre: c”; read nom
echo “Ingrese su edad: ”; read edad
Comando read
Ejemplo: Deseamos que el usuario ingrese su nombre,
apellido y edad para guardarlos en tres variables.
¿qué diferencia se puede notar entre el uso de echo con
la opción -e c y la que no usan la secuencia de escape?
Comando read
Ejemplo: Deseamos que el usuario ingrese su nombre,
apellido y edad para guardarlos en tres variables.
Luego, en otra parte del programa vamos a querer
mostrar los valores ingresados:
echo “Ud. es $nom $ape y su edad es $edad”
Comando read
Nota aparte: Los nombres que le pongamos a las
variables tienen que tener algún tipo de relación con el
valor o el uso que queramos darle.
No podemos tener un script lleno de variables que se
llamen var1, var2, … var26 cuando la primera guarda una
cédula, la segunda una dirección y la tercera el nombre
de un libro
Comando read
En esta clase vamos a utilizar el editor nano, en las
siguientes vamos a utilizar el editor vi.
En la consola, escribamos nano primerScript.sh, es
decir, el nombre del comando seguido del nombre de
nuestro programa.
Nuestro primer script
Por convención, todos los scripts suelen terminar con la
secuencia .sh aunque debemos recordar que en Linux la
extensión de un archivo no tiene un valor más allá de
permitir reconocer su tipo.
Nuestro primer script
La primera línea de todos nuestros scripts será la
siguiente:
#! /bin/bash
Esta línea le permitirá al shell reconocer que nuestros
scripts deben correrse utilizando la shell bash. Si bien
puede usarse alguna otra shell, solo con bash vamos a
estar 100% seguros de que funcionará como queremos.
Nuestro primer script
A partir de esa línea, las siguientes líneas serán las que
escribimos hoy más temprano:
echo -e “Ingrese su apellido: c”; read ape
echo -e “Ingrese su nombre: c”; read nom
echo -e “Ingrese su edad: c”; read edad
echo “Ud. es $nom $ape y su edad es $edad”
Nuestro primer script
Una vez que finalizamos de editar nuestro script,
debemos guardar los cambios con la combinación de
teclas <ctrl>+<o>, le ponemos el nombre deseado (el
que ya tenía).
Para salir del editor usamos la combinación <ctrl>+<x>
Nuestro primer script
Para ejecutar nuestros scripts vamos a utilizar el
comando ./
./primerScript.sh
Permiso denegado ¿por qué obtenemos esta respuesta?
Nuestro primer script
Porque los programas deben tener permiso de ejecución.
De otro modo, son archivos comunes que no tienen
permiso para ejecutarse.
Para darle permiso debemos utilizar el comando chmod.
Para simplificar usaremos
chmod 777 primerScript.sh
Nuestro primer script
Ahora sí, podemos ejecutar el script que escribimos con
el comando
./primerScript.sh
Nuestro primer script

Más contenido relacionado

La actualidad más candente

systemd
systemdsystemd
systemd
nussbauml
 
Introducción a HTML5 y CSS3
Introducción a HTML5 y CSS3Introducción a HTML5 y CSS3
Introducción a HTML5 y CSS3
Paradigma Digital
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
Ashrith Mekala
 
Basics of shell programming
Basics of shell programmingBasics of shell programming
Basics of shell programming
Chandan Kumar Rana
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
Manav Prasad
 
Linux OS presentation
Linux OS presentationLinux OS presentation
Linux OS presentation
SahilGothoskar
 
Easiest way to start with Shell scripting
Easiest way to start with Shell scriptingEasiest way to start with Shell scripting
Easiest way to start with Shell scripting
Akshay Siwal
 
Shell Scripting in Linux
Shell Scripting in LinuxShell Scripting in Linux
Shell Scripting in Linux
Anu Chaudhry
 
Linux commands and file structure
Linux commands and file structureLinux commands and file structure
Linux commands and file structure
Sreenatha Reddy K R
 
Linux basic commands with examples
Linux basic commands with examplesLinux basic commands with examples
Linux basic commands with examples
abclearnn
 
Course 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment VariablesCourse 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment Variables
Ahmed El-Arabawy
 
Bash Shell Scripting
Bash Shell ScriptingBash Shell Scripting
Bash Shell Scripting
Raghu nath
 
Filepermissions in linux
Filepermissions in linuxFilepermissions in linux
Filepermissions in linux
Subashini Pandiarajan
 
Basic linux commands
Basic linux commandsBasic linux commands
Basic linux commands
Shakeel Shafiq
 
Unix/Linux Basic Commands and Shell Script
Unix/Linux Basic Commands and Shell ScriptUnix/Linux Basic Commands and Shell Script
Unix/Linux Basic Commands and Shell Script
sbmguys
 
Unix shell scripting basics
Unix shell scripting basicsUnix shell scripting basics
Unix shell scripting basics
Manav Prasad
 
Oops concept on c#
Oops concept on c#Oops concept on c#
Linux commands
Linux commandsLinux commands
Linux commands
Balakumaran Arunachalam
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
Emertxe Information Technologies Pvt Ltd
 
Hands On with Maven
Hands On with MavenHands On with Maven
Hands On with Maven
Sid Anand
 

La actualidad más candente (20)

systemd
systemdsystemd
systemd
 
Introducción a HTML5 y CSS3
Introducción a HTML5 y CSS3Introducción a HTML5 y CSS3
Introducción a HTML5 y CSS3
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
Basics of shell programming
Basics of shell programmingBasics of shell programming
Basics of shell programming
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
Linux OS presentation
Linux OS presentationLinux OS presentation
Linux OS presentation
 
Easiest way to start with Shell scripting
Easiest way to start with Shell scriptingEasiest way to start with Shell scripting
Easiest way to start with Shell scripting
 
Shell Scripting in Linux
Shell Scripting in LinuxShell Scripting in Linux
Shell Scripting in Linux
 
Linux commands and file structure
Linux commands and file structureLinux commands and file structure
Linux commands and file structure
 
Linux basic commands with examples
Linux basic commands with examplesLinux basic commands with examples
Linux basic commands with examples
 
Course 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment VariablesCourse 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment Variables
 
Bash Shell Scripting
Bash Shell ScriptingBash Shell Scripting
Bash Shell Scripting
 
Filepermissions in linux
Filepermissions in linuxFilepermissions in linux
Filepermissions in linux
 
Basic linux commands
Basic linux commandsBasic linux commands
Basic linux commands
 
Unix/Linux Basic Commands and Shell Script
Unix/Linux Basic Commands and Shell ScriptUnix/Linux Basic Commands and Shell Script
Unix/Linux Basic Commands and Shell Script
 
Unix shell scripting basics
Unix shell scripting basicsUnix shell scripting basics
Unix shell scripting basics
 
Oops concept on c#
Oops concept on c#Oops concept on c#
Oops concept on c#
 
Linux commands
Linux commandsLinux commands
Linux commands
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
 
Hands On with Maven
Hands On with MavenHands On with Maven
Hands On with Maven
 

Similar a Introducción a shell script

Script presentacion
Script presentacionScript presentacion
Script presentacion
Vanne Napa
 
Variables y comillas en Linux
Variables y comillas en LinuxVariables y comillas en Linux
Variables y comillas en Linux
Pablo Macon
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
Facultad de Ciencias y Sistemas
 
Quasi - mIRC-scripting-Alias
Quasi - mIRC-scripting-AliasQuasi - mIRC-scripting-Alias
Quasi - mIRC-scripting-Alias
degarden
 
Shell script
Shell scriptShell script
Shell script
uniminuto
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
Fabuserslideshare
 
Administración básica de ubuntu server parte 3
Administración básica de ubuntu server   parte 3Administración básica de ubuntu server   parte 3
Administración básica de ubuntu server parte 3
Santiago Márquez Solís
 
4072954.ppt
4072954.ppt4072954.ppt
Quasi - Comandos básicos para UNIX
Quasi - Comandos básicos para UNIXQuasi - Comandos básicos para UNIX
Quasi - Comandos básicos para UNIX
degarden
 
Programación c
Programación cProgramación c
Programación c
Programación cProgramación c
Programación c
victdiazm
 
11 PHP. PHP y HTML
11 PHP. PHP y HTML11 PHP. PHP y HTML
11 PHP. PHP y HTML
José M. Padilla
 
Primeros Programas Shell Script
Primeros Programas Shell ScriptPrimeros Programas Shell Script
Primeros Programas Shell Script
Pablo Macon
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacion
luismart05
 
Shell scripting - Primera Clase
Shell scripting - Primera ClaseShell scripting - Primera Clase
Shell scripting - Primera Clase
Pablo Macon
 
Manual de php con ejercicios
Manual de php con ejerciciosManual de php con ejercicios
Manual de php con ejercicios
william kozisck
 
Manualdephpconejercicios 150226132934-conversion-gate01
Manualdephpconejercicios 150226132934-conversion-gate01Manualdephpconejercicios 150226132934-conversion-gate01
Manualdephpconejercicios 150226132934-conversion-gate01
Fran Alfonsin
 
PROGRAMACIÓN DE CÓDIGOS CON PHP
PROGRAMACIÓN DE CÓDIGOS CON PHPPROGRAMACIÓN DE CÓDIGOS CON PHP
PROGRAMACIÓN DE CÓDIGOS CON PHP
LEONELDAMIANMARISCAL
 
El lenguaje php
El lenguaje phpEl lenguaje php
El lenguaje php
Luis Olortegui Melendez
 
El shell-bash
El shell-bashEl shell-bash
El shell-bash
lluera
 

Similar a Introducción a shell script (20)

Script presentacion
Script presentacionScript presentacion
Script presentacion
 
Variables y comillas en Linux
Variables y comillas en LinuxVariables y comillas en Linux
Variables y comillas en Linux
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Quasi - mIRC-scripting-Alias
Quasi - mIRC-scripting-AliasQuasi - mIRC-scripting-Alias
Quasi - mIRC-scripting-Alias
 
Shell script
Shell scriptShell script
Shell script
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Administración básica de ubuntu server parte 3
Administración básica de ubuntu server   parte 3Administración básica de ubuntu server   parte 3
Administración básica de ubuntu server parte 3
 
4072954.ppt
4072954.ppt4072954.ppt
4072954.ppt
 
Quasi - Comandos básicos para UNIX
Quasi - Comandos básicos para UNIXQuasi - Comandos básicos para UNIX
Quasi - Comandos básicos para UNIX
 
Programación c
Programación cProgramación c
Programación c
 
Programación c
Programación cProgramación c
Programación c
 
11 PHP. PHP y HTML
11 PHP. PHP y HTML11 PHP. PHP y HTML
11 PHP. PHP y HTML
 
Primeros Programas Shell Script
Primeros Programas Shell ScriptPrimeros Programas Shell Script
Primeros Programas Shell Script
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacion
 
Shell scripting - Primera Clase
Shell scripting - Primera ClaseShell scripting - Primera Clase
Shell scripting - Primera Clase
 
Manual de php con ejercicios
Manual de php con ejerciciosManual de php con ejercicios
Manual de php con ejercicios
 
Manualdephpconejercicios 150226132934-conversion-gate01
Manualdephpconejercicios 150226132934-conversion-gate01Manualdephpconejercicios 150226132934-conversion-gate01
Manualdephpconejercicios 150226132934-conversion-gate01
 
PROGRAMACIÓN DE CÓDIGOS CON PHP
PROGRAMACIÓN DE CÓDIGOS CON PHPPROGRAMACIÓN DE CÓDIGOS CON PHP
PROGRAMACIÓN DE CÓDIGOS CON PHP
 
El lenguaje php
El lenguaje phpEl lenguaje php
El lenguaje php
 
El shell-bash
El shell-bashEl shell-bash
El shell-bash
 

Más de Pablo Macon

Ejercicios3 - msdos - comandos para archivos
Ejercicios3 - msdos - comandos para archivosEjercicios3 - msdos - comandos para archivos
Ejercicios3 - msdos - comandos para archivos
Pablo Macon
 
Ejercicios directorios ii msdos
Ejercicios directorios ii msdosEjercicios directorios ii msdos
Ejercicios directorios ii msdos
Pablo Macon
 
Comandos para archivos msdos
Comandos para archivos msdosComandos para archivos msdos
Comandos para archivos msdos
Pablo Macon
 
Ejercicios ms dos - i directorios
Ejercicios ms dos - i directoriosEjercicios ms dos - i directorios
Ejercicios ms dos - i directorios
Pablo Macon
 
Directorios y caminos
Directorios y caminosDirectorios y caminos
Directorios y caminos
Pablo Macon
 
Prueba try
Prueba tryPrueba try
Prueba try
Pablo Macon
 
Comandos basicos ii directorios
Comandos basicos ii   directoriosComandos basicos ii   directorios
Comandos basicos ii directorios
Pablo Macon
 
Comandos Básicos DOS - comandos del Sistema
Comandos Básicos DOS - comandos del SistemaComandos Básicos DOS - comandos del Sistema
Comandos Básicos DOS - comandos del Sistema
Pablo Macon
 
Instalación de MS-DOS con VM Ware
Instalación de MS-DOS con VM WareInstalación de MS-DOS con VM Ware
Instalación de MS-DOS con VM Ware
Pablo Macon
 
Cpu
CpuCpu
Overclock
OverclockOverclock
Overclock
Pablo Macon
 
Como Trabaja un Procesador
Como Trabaja un ProcesadorComo Trabaja un Procesador
Como Trabaja un Procesador
Pablo Macon
 
Práctico motherboard
Práctico motherboardPráctico motherboard
Práctico motherboard
Pablo Macon
 
Placa madre
Placa madrePlaca madre
Placa madre
Pablo Macon
 
Sistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFSSistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFS
Pablo Macon
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
Pablo Macon
 
Introducción al proyecto
Introducción al proyectoIntroducción al proyecto
Introducción al proyecto
Pablo Macon
 
Gabinete PC
Gabinete PCGabinete PC
Gabinete PC
Pablo Macon
 
Nucleo kernel
Nucleo kernelNucleo kernel
Nucleo kernel
Pablo Macon
 
Herencia - Java
Herencia - JavaHerencia - Java
Herencia - Java
Pablo Macon
 

Más de Pablo Macon (20)

Ejercicios3 - msdos - comandos para archivos
Ejercicios3 - msdos - comandos para archivosEjercicios3 - msdos - comandos para archivos
Ejercicios3 - msdos - comandos para archivos
 
Ejercicios directorios ii msdos
Ejercicios directorios ii msdosEjercicios directorios ii msdos
Ejercicios directorios ii msdos
 
Comandos para archivos msdos
Comandos para archivos msdosComandos para archivos msdos
Comandos para archivos msdos
 
Ejercicios ms dos - i directorios
Ejercicios ms dos - i directoriosEjercicios ms dos - i directorios
Ejercicios ms dos - i directorios
 
Directorios y caminos
Directorios y caminosDirectorios y caminos
Directorios y caminos
 
Prueba try
Prueba tryPrueba try
Prueba try
 
Comandos basicos ii directorios
Comandos basicos ii   directoriosComandos basicos ii   directorios
Comandos basicos ii directorios
 
Comandos Básicos DOS - comandos del Sistema
Comandos Básicos DOS - comandos del SistemaComandos Básicos DOS - comandos del Sistema
Comandos Básicos DOS - comandos del Sistema
 
Instalación de MS-DOS con VM Ware
Instalación de MS-DOS con VM WareInstalación de MS-DOS con VM Ware
Instalación de MS-DOS con VM Ware
 
Cpu
CpuCpu
Cpu
 
Overclock
OverclockOverclock
Overclock
 
Como Trabaja un Procesador
Como Trabaja un ProcesadorComo Trabaja un Procesador
Como Trabaja un Procesador
 
Práctico motherboard
Práctico motherboardPráctico motherboard
Práctico motherboard
 
Placa madre
Placa madrePlaca madre
Placa madre
 
Sistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFSSistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFS
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
Introducción al proyecto
Introducción al proyectoIntroducción al proyecto
Introducción al proyecto
 
Gabinete PC
Gabinete PCGabinete PC
Gabinete PC
 
Nucleo kernel
Nucleo kernelNucleo kernel
Nucleo kernel
 
Herencia - Java
Herencia - JavaHerencia - Java
Herencia - Java
 

Último

Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
AlexDeLonghi
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
KarenRuano6
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
saradocente
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
100078171
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Demetrio Ccesa Rayme
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
rosannatasaycoyactay
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
acgtz913
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
ssusera6697f
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
Osiris Urbano
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
Robert Zuñiga Vargas
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Juan Martín Martín
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Demetrio Ccesa Rayme
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
josseanlo1581
 

Último (20)

Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
 
A VISITA DO SENHOR BISPO .
A VISITA DO SENHOR BISPO                .A VISITA DO SENHOR BISPO                .
A VISITA DO SENHOR BISPO .
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
 

Introducción a shell script

  • 1. Introducción a Shell Script Prof. Pablo Macón http://pablomacon.wix.com/home/ profemacon@gmail.com
  • 2. Introducción a Shell Scripting La idea es combinar secuencias de comandos de Linux para realizar determinadas tareas. Con shell scripts podremos definir variables y asignarles valores o permitir que un usuario inserte valores de forma interactiva.
  • 3. Introducción a Shell Scripting En este lenguaje de programación disponemos de bucles y estructuras de control para realizar operaciones aritméticas o de comparación. También podremos tener varios shell scripts ejecutándose al mismo tiempo.
  • 4. Variables Son porciones de memoria Asociadas a un nombre simbólico Pueden tener un valor o contener información Este valor puede ser cambiado en cualquier momento
  • 5. Variables En Linux, por defecto, todas las variables son cadenas de caracteres, no hay tipos como int, char, long... Si las queremos usar en una operación aritmética vamos a tener que indicarle al sistema lo que queremos hacer con un comando especial
  • 6. Variables Declarar una variable: nombre_Variable=valor (sin espacios a ambos lados del signo igual) var1=hola var2=mundo
  • 7. Variables Declarar una variable: También podemos asignar una cadena con varias palabras, pero para eso tenemos que ponerlas entre comillas dobles var3=”hola mundo”
  • 8. Variables Declarar una variable: Podemos poner también las secuencias de escape var4=”holanmundo”
  • 9. Variables Por último podemos poner el resultado de un comando en una variable, con las comillas invertidas: var6=`ls /bin` El sistema ejecuta el comando que está entre comillas y el resultado se pone íntegro dentro de la variable, sin mostrarlo en la pantallas
  • 10. Comando echo El valor que está guardado en las variables puede ser utilizado en cualquier momento, ya sea dentro de un script como fuera de él Hay que resaltar y recordar que cualquier comando que podamos utilizar dentro de un script va a poder ser utilizado fuera, en la línea de comandos que usamos
  • 11. Comando echo Uno de los muchos usos que vamos a hacer de las variables va a ser mostrarlas en pantalla. Ya sea para dar un saludo al usuario que está utilizando el sistema, como para verificar si los datos ingresados son correctos.
  • 12. Comando echo El comando que nos va a permitir ver el contenido de las variables en la pantalla es el comando echo. Este comando desplegará en la salida estándar cualquier elemento o cadena de caracteres que le indiquemos como parámetro
  • 13. Comando echo La sintaxis de este comando es: echo [-opciones] [cadena con o sin formato] echo “Mi nombre es Fulano de tal y nací el 30 de febrero de 1995” mostrará en la salida estándar (pantalla) la cadena que está entre comillas
  • 14. Comando echo Para mostrar el contenido (valor) de cualquier variable (cualquiera haya sido el método mediante el cual la definimos), es necesario que el nombre de la variable esté precedida por el signo $ (pesos) echo $miVariable mostrará el valor de miVariable en la salida estándar
  • 15. Comando echo echo permite también formatear la salida, utilizando la opción -e, podemos mostrar cadenas con columnas, o dejar líneas en blanco, etc. No olvidar nunca poner la opción -e, de lo contrario, el efecto deseado no se va a mostrar
  • 17. Comando echo Probemos: echo -e “hola amundo” echo -e “hola bmundo” echo -e “hola cmundo” echo -e “hola nmundo” echo -e “hola tmundo”
  • 18. Comando echo echo permite también formatear la salida, utilizando la opción -e, podemos mostrar cadenas con columnas, o dejar líneas en blanco, etc. No olvidar nunca poner la opción -e, de lo contrario, el efecto deseado no se va a mostrar
  • 19. Comando read De cualquier modo, aún no hemos interactuado con el usuario. Una manera para lograr que el usuario pueda participar con nuestro programa la vamos poder hacer con el comando read. Este comando permite que el valor de una variable sea tomado desde la consola, siendo ingresado por el usuario a través de la entrada estándar (teclado)
  • 20. La sintaxis es: read [-opciones] [Cadena] variable read miVariable Esperará a que el usuario ingrese un valor, una vez que se ingrese <intro> ⤶, aquello que haya sido ingresado se guardará en la variable de nombre miVariable Comando read
  • 21. Este comando requiere que el usuario sepa exactamente que es lo que se espera de él. No podemos pensar que el usuario adivinará que ante una pantalla negra, tenga que ingresar un valor de un tipo determinado. Comando read
  • 22. Es por ello que normalmente vamos a mostrarle algún tipo de mensaje en la pantalla previo al uso del comando read, indicándole al usuario qué es lo que tiene que ingresar. El par echo/read va a ser uno de los más utilizados en cualquier shell script que hagamos. Comando read
  • 23. Ejemplo: Deseamos que el usuario ingrese su nombre, apellido y edad para guardarlos en tres variables. echo -e “Ingrese su apellido: c”; read ape echo -e “Ingrese su nombre: c”; read nom echo “Ingrese su edad: ”; read edad Comando read
  • 24. Ejemplo: Deseamos que el usuario ingrese su nombre, apellido y edad para guardarlos en tres variables. ¿qué diferencia se puede notar entre el uso de echo con la opción -e c y la que no usan la secuencia de escape? Comando read
  • 25. Ejemplo: Deseamos que el usuario ingrese su nombre, apellido y edad para guardarlos en tres variables. Luego, en otra parte del programa vamos a querer mostrar los valores ingresados: echo “Ud. es $nom $ape y su edad es $edad” Comando read
  • 26. Nota aparte: Los nombres que le pongamos a las variables tienen que tener algún tipo de relación con el valor o el uso que queramos darle. No podemos tener un script lleno de variables que se llamen var1, var2, … var26 cuando la primera guarda una cédula, la segunda una dirección y la tercera el nombre de un libro Comando read
  • 27. En esta clase vamos a utilizar el editor nano, en las siguientes vamos a utilizar el editor vi. En la consola, escribamos nano primerScript.sh, es decir, el nombre del comando seguido del nombre de nuestro programa. Nuestro primer script
  • 28. Por convención, todos los scripts suelen terminar con la secuencia .sh aunque debemos recordar que en Linux la extensión de un archivo no tiene un valor más allá de permitir reconocer su tipo. Nuestro primer script
  • 29. La primera línea de todos nuestros scripts será la siguiente: #! /bin/bash Esta línea le permitirá al shell reconocer que nuestros scripts deben correrse utilizando la shell bash. Si bien puede usarse alguna otra shell, solo con bash vamos a estar 100% seguros de que funcionará como queremos. Nuestro primer script
  • 30. A partir de esa línea, las siguientes líneas serán las que escribimos hoy más temprano: echo -e “Ingrese su apellido: c”; read ape echo -e “Ingrese su nombre: c”; read nom echo -e “Ingrese su edad: c”; read edad echo “Ud. es $nom $ape y su edad es $edad” Nuestro primer script
  • 31. Una vez que finalizamos de editar nuestro script, debemos guardar los cambios con la combinación de teclas <ctrl>+<o>, le ponemos el nombre deseado (el que ya tenía). Para salir del editor usamos la combinación <ctrl>+<x> Nuestro primer script
  • 32. Para ejecutar nuestros scripts vamos a utilizar el comando ./ ./primerScript.sh Permiso denegado ¿por qué obtenemos esta respuesta? Nuestro primer script
  • 33. Porque los programas deben tener permiso de ejecución. De otro modo, son archivos comunes que no tienen permiso para ejecutarse. Para darle permiso debemos utilizar el comando chmod. Para simplificar usaremos chmod 777 primerScript.sh Nuestro primer script
  • 34. Ahora sí, podemos ejecutar el script que escribimos con el comando ./primerScript.sh Nuestro primer script