SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Shell Script
Por Carlos Antonio Leal Saballos
● Introducción a shell script
● ¿Cómo escribir un Shell Script?
● El primer shell script
● Las variables en shell script
● El comando echo
● Aritmética en shell script
● Algo sobre comillas
● Exit Status
● La sentencia read
● Paso de parametros
Agenda
Introducción a Shell Script
● Una de las cosas más raras que la gente dice es que hay
comandos básicos y comandos avanzados
● Todos los comanandos se pueden utilizar de forma básica y en
forma avanzada
● Existen unos comandos que se usan únicamente en ocasiones
especiales.
● Es altamente recomendado leer los manuales de cada comando.
● Shell en español siginfica concha
Introducción a Shell Script
● Las computadoras entienden únicamente lenguaje binario
● En los primeros sistemas operativos apareciron unos programas
especiales llamados Shell, los cuales permitían pasar órdenes al
kernel por medio de comandos.
● El shell interpreta los comandos en lenguaje humano, la mayoría
en inglés, si el comando es correcto lo pasa al kernel
● El shell es un programa diseñado para que el usuario pueda
interactuar con la máquina, por medio del teclado o por medio de
un archivo
● El Shell no es parte del kernel pero trabajan de la mano
Introducción a Shell Script
● Los Shell más comunes en Linux son:
Shell Desarrollado por ¿Dónde? Observación
BASH
( Bourne-Again SHell )
Brian Fox and
Chet Ramey
Free Software
Foundation
Es el Shell más común
CSH (C SHell) Bill Joy University de
California (para BSD)
Utiliza sintaxis muy
similar a lenguaje C
KSH (Korn SHell) David Korn AT & T Bell Labs
TCSHELL Vea man tcsh Una versión mejorada
de CSH
Para saber que shell hay disponbles en el sistema utilice el comando
cat /etc/shells
Introducción a Shell Script
¿Qué es un shell script?
Un shell script es una serie de comandos escritos en un archivo de
texto plano
El shell script puede ser automático, es decir se ejecutará por si
solo o interactivo, solicitará información adicional al usuario
¿Por qué crear un shell script?
Para ahorrar tiempo en tareas repetitivas
Para automatizar algunas tareas de la vida diaria
Para automatizar algunas tareas de administración del servidor
¿Cómo escribir un shell script?
● Crear un archivo de texto plano con el editor de su preferencia
(recomendado nano o vim)
ejemplo: nano script.sh
● No olvidar cambiar los permisos con chmod para hacer el shell
script ejecutable
● Ejecute el shell, opciones posibles:
bash script.sh
sh script.sh
./script.sh
El primer shell script
#/bin/bash
# Primer shell script sencillo
# Escrito por Carlos Leal
clear
echo "El conocimiento es poder"
El segundo shell script
#/bin/bash
# Segundo shell script sencillo
# escrito por Carlos Leal
clear
echo "Hola $USER"
echo "Hoy es: ";date
echo "Es decir estamos en: ";cal
Las variables en shell script
●Para procesar los datos a veces es necesarios guardarlos en
variables, en shell script existen dos tipos de variables
● Variables del sistema: Están creadas y predefinidas por el
sistema, normalmente se representan en mayúsculas
● Variables del usuario: Son definidas por el usuario, normalmente
se representan en minúsculas
● Para ver el contenido de la variable se utiliza el comando echo
●Ejempo:
echo $PATH
Las variables en shell script
Variable Descripción
BASH Ruta del shell actual
BASH_VERSION La versión del shell que se está utilizando
COLUMNS Número de columnas de la termina
LINES Número de líneas de la terminal
HOMEd Directorio home del usuario actual
LOGNAME Nombre de usuario
OSTYPE Tipo de sistema operativo
PATH Rutas donde se encuentran los comandos
PS1 Configuraciones del pronpt
PWD Directorio actual de trabajo
SHELL Nuestro shell
USERNAME Nombre del usuario actual
Modificar las variables del sistema puede traes serios problemas
Las variables en shell script
Agregando variables de usuario
Para definir una variable llamada n con un valor de 10
$ n=10
Para definir una variable llamada vech con un valor de bus
vech=Bus
Reglas para definir variables
1. Las variables del sistema en mayúsculas las de usuario en
minúsculas
●HOME, n
2 . No poner espacios
●N=10
3. Las variables son sencibles a las mayúsculas N y n son
variables diferentes
4. Se pueden definir variables con valor NULL
●vech=
●vech=””
●5. No usar caracteres extraños como ¡, ?,* etc, en los nombres de
las variables
Reglas para definir variables
#/bin/bash
# Tercer shell script sencillo
# escrito por Carlos Leal
MiNombre=Carlitos
MiOS = Ubuntu
MiNo=5
echo "Mi nombre es $MiNombre"
echo "Estoy usando $MiOs"
echo "Mi numero es MiNo"
echo "Favor ayudarme a corregir los errores en este script"
El comando echo
Tal como se ha notado uno de los comandos más utilizados en
shell script es el comando echo, conviene profundizar un poco.
Es altamente recomendado leer detenidamene el manual del
comando echo
echo -e "Somos UCA attISTIn"
Aritmética Shell Script
Es posible hacer operaciones aritméticas con el comando expr,
algunos ejemplos:
$ expr 1 + 3
$ expr 2 - 1
$ expr 10 / 2
$ expr 20 % 3
$ expr 10 * 3 – caso extraño la multiplicación
$ echo `expr 6 + 3`
Algo sobre las comillas
echo hola mundo $PATH
echo ”hola mundo $PATH”
echo 'hola mundo $PATH'
echo `hola mundo $PATH`
echo Hoy es date
echo ”Hoy es date”
echo ”Hoy es `date`”
Exit Status
Cuando se ejecuta un comando, el valor de exit status puede tener
dos valores posibiles
Cero si el comando se ejecuto adecuadamente
No Cero, si el comando no se ejecuto correctamente
Para determinar si el ultimo comando se utiliza la variable especial
del shell $?
$ ls
$ echo $?
$ wildwest canwork?
$ echo $?
La sentencia read
#/bin/bash
# Cuarto shell script sencillo
# escrito por Carlos Leal
clear
echo "¿Cómo te llamas? ==> c:"
read nombre
echo "Hola $nombre, ¡Un placer conocerte!"
Paso de parametros
#!/bin/bash
echo hemos pasado $# parametros
echo la llamada a nuestro script se hizo con $0, y tenemos el
numero $$ como PID
echo el primero parametro pasado es $1
echo y el segundo, $2
echo el ultimo argumento que hemos utilizado es $_
echo todos los parametros pasados son: $@
echo el parametro anterior acabo con un valor de salida $?
echo el ultimo argumento que hemos utilizado es $_

Más contenido relacionado

La actualidad más candente

Browsing Linux Kernel Source
Browsing Linux Kernel SourceBrowsing Linux Kernel Source
Browsing Linux Kernel SourceMotaz Saad
 
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...Adrian Huang
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingTushar B Kute
 
Presentacion eclipse - grupo 6
Presentacion   eclipse - grupo 6Presentacion   eclipse - grupo 6
Presentacion eclipse - grupo 6Maga Lasic
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contextoVerónica Es'Loo
 
Unix Shell Scripting
Unix Shell ScriptingUnix Shell Scripting
Unix Shell ScriptingMustafa Qasim
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppInfomania pro
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajasEdith Carreño
 

La actualidad más candente (20)

Browsing Linux Kernel Source
Browsing Linux Kernel SourceBrowsing Linux Kernel Source
Browsing Linux Kernel Source
 
Expresiones regulares y gramaticas
Expresiones regulares y gramaticasExpresiones regulares y gramaticas
Expresiones regulares y gramaticas
 
C Programming - Refresher - Part II
C Programming - Refresher - Part II C Programming - Refresher - Part II
C Programming - Refresher - Part II
 
Character drivers
Character driversCharacter drivers
Character drivers
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
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
 
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...
 
SISTEMA DE PAGINACIÓN
SISTEMA DE PAGINACIÓNSISTEMA DE PAGINACIÓN
SISTEMA DE PAGINACIÓN
 
Linux Internals - Part I
Linux Internals - Part ILinux Internals - Part I
Linux Internals - Part I
 
Shell Script Linux
Shell Script LinuxShell Script Linux
Shell Script Linux
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module Programming
 
Advanced C - Part 1
Advanced C - Part 1 Advanced C - Part 1
Advanced C - Part 1
 
Presentacion eclipse - grupo 6
Presentacion   eclipse - grupo 6Presentacion   eclipse - grupo 6
Presentacion eclipse - grupo 6
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contexto
 
Unix Shell Scripting
Unix Shell ScriptingUnix Shell Scripting
Unix Shell Scripting
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cpp
 
Linux Internals - Part III
Linux Internals - Part IIILinux Internals - Part III
Linux Internals - Part III
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajas
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 

Similar a Shell script en linux

Similar a Shell script en linux (20)

Programacinenshell linux
Programacinenshell linuxProgramacinenshell linux
Programacinenshell linux
 
Linux Programacion en Shell
Linux Programacion en ShellLinux Programacion en Shell
Linux Programacion en Shell
 
Script presentacion
Script presentacionScript presentacion
Script presentacion
 
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
 
The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0
 
[ES] Línea de Comandos GNU/Linux
[ES] Línea de Comandos GNU/Linux[ES] Línea de Comandos GNU/Linux
[ES] Línea de Comandos GNU/Linux
 
[ES] Administración básica de GNU / Linux
[ES] Administración básica de GNU / Linux[ES] Administración básica de GNU / Linux
[ES] Administración básica de GNU / Linux
 
bash
bashbash
bash
 
Agilidad en shell de linux
Agilidad en shell de linuxAgilidad en shell de linux
Agilidad en shell de linux
 
Script Y Comandos De Linux
Script Y Comandos De LinuxScript Y Comandos De Linux
Script Y Comandos De Linux
 
Tutorial shell scripts
Tutorial shell scriptsTutorial shell scripts
Tutorial shell scripts
 
Quasi - scripts-linux
Quasi - scripts-linuxQuasi - scripts-linux
Quasi - scripts-linux
 
Linux basico-8.PDF
Linux basico-8.PDFLinux basico-8.PDF
Linux basico-8.PDF
 
Estructuras de control 1
Estructuras de control 1Estructuras de control 1
Estructuras de control 1
 
Giseproi hacking ético - bash scripting
Giseproi   hacking ético - bash scriptingGiseproi   hacking ético - bash scripting
Giseproi hacking ético - bash scripting
 
Estructuras de control 1.0
Estructuras de control 1.0Estructuras de control 1.0
Estructuras de control 1.0
 
Shell script
Shell scriptShell script
Shell script
 
Curso Bash 1
Curso Bash 1Curso Bash 1
Curso Bash 1
 
6 la shell bash
6 la shell bash6 la shell bash
6 la shell bash
 
6 la shell bash
6 la shell bash6 la shell bash
6 la shell bash
 

Más de Carlos Antonio Leal Saballos

Charla - Beneficios de la Membresía ISOC León.pdf
Charla - Beneficios de la Membresía ISOC León.pdfCharla - Beneficios de la Membresía ISOC León.pdf
Charla - Beneficios de la Membresía ISOC León.pdfCarlos Antonio Leal Saballos
 
Principales distribuciones de GNU/Linux en febrero 2019
Principales distribuciones de GNU/Linux en  febrero 2019Principales distribuciones de GNU/Linux en  febrero 2019
Principales distribuciones de GNU/Linux en febrero 2019Carlos Antonio Leal Saballos
 
Internet de las cosas, la nube y sus posibilidades para la educación
Internet de las cosas, la nube y sus posibilidades para la educaciónInternet de las cosas, la nube y sus posibilidades para la educación
Internet de las cosas, la nube y sus posibilidades para la educaciónCarlos Antonio Leal Saballos
 
Presentacion asignatura de Administración de Servidores II
Presentacion asignatura de Administración de Servidores IIPresentacion asignatura de Administración de Servidores II
Presentacion asignatura de Administración de Servidores IICarlos Antonio Leal Saballos
 
Temas Seminario de Culminación de estudios 2017-3C
Temas Seminario de Culminación de estudios 2017-3CTemas Seminario de Culminación de estudios 2017-3C
Temas Seminario de Culminación de estudios 2017-3CCarlos Antonio Leal Saballos
 

Más de Carlos Antonio Leal Saballos (20)

Charla - Beneficios de la Membresía ISOC León.pdf
Charla - Beneficios de la Membresía ISOC León.pdfCharla - Beneficios de la Membresía ISOC León.pdf
Charla - Beneficios de la Membresía ISOC León.pdf
 
Charla - Beneficios de la Membresía Juigalpa.pdf
Charla - Beneficios de la Membresía Juigalpa.pdfCharla - Beneficios de la Membresía Juigalpa.pdf
Charla - Beneficios de la Membresía Juigalpa.pdf
 
Principales distribuciones de GNU/Linux en febrero 2019
Principales distribuciones de GNU/Linux en  febrero 2019Principales distribuciones de GNU/Linux en  febrero 2019
Principales distribuciones de GNU/Linux en febrero 2019
 
Principales distros linux 2019
Principales distros linux   2019Principales distros linux   2019
Principales distros linux 2019
 
¿Qué es Linux?
¿Qué es Linux?¿Qué es Linux?
¿Qué es Linux?
 
Administración de Servidores II - Edición 2019
Administración de Servidores II - Edición 2019Administración de Servidores II - Edición 2019
Administración de Servidores II - Edición 2019
 
Internet de las cosas, la nube y sus posibilidades para la educación
Internet de las cosas, la nube y sus posibilidades para la educaciónInternet de las cosas, la nube y sus posibilidades para la educación
Internet de las cosas, la nube y sus posibilidades para la educación
 
Presentacion asignatura de Administración de Servidores II
Presentacion asignatura de Administración de Servidores IIPresentacion asignatura de Administración de Servidores II
Presentacion asignatura de Administración de Servidores II
 
Horarios a publicar irt 2018 2 c.xlsx
Horarios a publicar irt 2018 2 c.xlsxHorarios a publicar irt 2018 2 c.xlsx
Horarios a publicar irt 2018 2 c.xlsx
 
Horarios a publicar isti redes 2018 2 c.xlsx
Horarios a publicar isti redes 2018 2 c.xlsxHorarios a publicar isti redes 2018 2 c.xlsx
Horarios a publicar isti redes 2018 2 c.xlsx
 
Inscripción Temas Seminario 2018-1C
Inscripción Temas Seminario 2018-1CInscripción Temas Seminario 2018-1C
Inscripción Temas Seminario 2018-1C
 
Temas Seminario de Culminación de estudios 2017-3C
Temas Seminario de Culminación de estudios 2017-3CTemas Seminario de Culminación de estudios 2017-3C
Temas Seminario de Culminación de estudios 2017-3C
 
Politica proteccion ninez-y-adolescencia
Politica proteccion ninez-y-adolescenciaPolitica proteccion ninez-y-adolescencia
Politica proteccion ninez-y-adolescencia
 
Politica prevencion-acoso-sexual
Politica prevencion-acoso-sexualPolitica prevencion-acoso-sexual
Politica prevencion-acoso-sexual
 
Politica de-genero-2013-uca
Politica de-genero-2013-ucaPolitica de-genero-2013-uca
Politica de-genero-2013-uca
 
Isti redes 3 c2017 con aulas
Isti redes   3 c2017 con aulasIsti redes   3 c2017 con aulas
Isti redes 3 c2017 con aulas
 
Horarios IRT 3C-2017
Horarios IRT 3C-2017 Horarios IRT 3C-2017
Horarios IRT 3C-2017
 
Samba en Centos 7
Samba en Centos 7Samba en Centos 7
Samba en Centos 7
 
Configuracion del servidor dns en linux
Configuracion del servidor dns en linuxConfiguracion del servidor dns en linux
Configuracion del servidor dns en linux
 
1. configuracion del servidor dhcp en linux
1. configuracion del servidor dhcp en linux1. configuracion del servidor dhcp en linux
1. configuracion del servidor dhcp en linux
 

Último

IG01 Instalacion de gas, materiales, criterios, recomendaciones
IG01 Instalacion de gas, materiales, criterios, recomendacionesIG01 Instalacion de gas, materiales, criterios, recomendaciones
IG01 Instalacion de gas, materiales, criterios, recomendacionesPardoGasca
 
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptxESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptxholferpandiacondori
 
Semana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxSemana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxJulio Lovon
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
Cuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdfCuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdffredyflores58
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfSalomeRunco
 
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxAlanCarrascoDavila
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfWaldo Eber Melendez Garro
 
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdfMirkaCBauer
 
Matematica Basica Limites indeterminados
Matematica Basica Limites indeterminadosMatematica Basica Limites indeterminados
Matematica Basica Limites indeterminadosSALVADOR ALTEZ PALOMINO
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de GestiónYanet Caldas
 
Riesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoRiesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoMarianoSanchez70
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosandersonsubero28
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasGraciaMatute1
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxQualityAdviceService
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhFoxy963
 
Instalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendioInstalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendioPardoGasca
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfChristianMOntiveros1
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
Presentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdfPresentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdffernandolozano90
 

Último (20)

IG01 Instalacion de gas, materiales, criterios, recomendaciones
IG01 Instalacion de gas, materiales, criterios, recomendacionesIG01 Instalacion de gas, materiales, criterios, recomendaciones
IG01 Instalacion de gas, materiales, criterios, recomendaciones
 
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptxESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
 
Semana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxSemana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptx
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
Cuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdfCuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdf
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
 
Matematica Basica Limites indeterminados
Matematica Basica Limites indeterminadosMatematica Basica Limites indeterminados
Matematica Basica Limites indeterminados
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
Riesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoRiesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajo
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
Instalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendioInstalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendio
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
Presentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdfPresentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdf
 

Shell script en linux

  • 1. Shell Script Por Carlos Antonio Leal Saballos
  • 2. ● Introducción a shell script ● ¿Cómo escribir un Shell Script? ● El primer shell script ● Las variables en shell script ● El comando echo ● Aritmética en shell script ● Algo sobre comillas ● Exit Status ● La sentencia read ● Paso de parametros Agenda
  • 3. Introducción a Shell Script ● Una de las cosas más raras que la gente dice es que hay comandos básicos y comandos avanzados ● Todos los comanandos se pueden utilizar de forma básica y en forma avanzada ● Existen unos comandos que se usan únicamente en ocasiones especiales. ● Es altamente recomendado leer los manuales de cada comando. ● Shell en español siginfica concha
  • 4. Introducción a Shell Script ● Las computadoras entienden únicamente lenguaje binario ● En los primeros sistemas operativos apareciron unos programas especiales llamados Shell, los cuales permitían pasar órdenes al kernel por medio de comandos. ● El shell interpreta los comandos en lenguaje humano, la mayoría en inglés, si el comando es correcto lo pasa al kernel ● El shell es un programa diseñado para que el usuario pueda interactuar con la máquina, por medio del teclado o por medio de un archivo ● El Shell no es parte del kernel pero trabajan de la mano
  • 5. Introducción a Shell Script ● Los Shell más comunes en Linux son: Shell Desarrollado por ¿Dónde? Observación BASH ( Bourne-Again SHell ) Brian Fox and Chet Ramey Free Software Foundation Es el Shell más común CSH (C SHell) Bill Joy University de California (para BSD) Utiliza sintaxis muy similar a lenguaje C KSH (Korn SHell) David Korn AT & T Bell Labs TCSHELL Vea man tcsh Una versión mejorada de CSH Para saber que shell hay disponbles en el sistema utilice el comando cat /etc/shells
  • 6. Introducción a Shell Script ¿Qué es un shell script? Un shell script es una serie de comandos escritos en un archivo de texto plano El shell script puede ser automático, es decir se ejecutará por si solo o interactivo, solicitará información adicional al usuario ¿Por qué crear un shell script? Para ahorrar tiempo en tareas repetitivas Para automatizar algunas tareas de la vida diaria Para automatizar algunas tareas de administración del servidor
  • 7. ¿Cómo escribir un shell script? ● Crear un archivo de texto plano con el editor de su preferencia (recomendado nano o vim) ejemplo: nano script.sh ● No olvidar cambiar los permisos con chmod para hacer el shell script ejecutable ● Ejecute el shell, opciones posibles: bash script.sh sh script.sh ./script.sh
  • 8. El primer shell script #/bin/bash # Primer shell script sencillo # Escrito por Carlos Leal clear echo "El conocimiento es poder"
  • 9. El segundo shell script #/bin/bash # Segundo shell script sencillo # escrito por Carlos Leal clear echo "Hola $USER" echo "Hoy es: ";date echo "Es decir estamos en: ";cal
  • 10. Las variables en shell script ●Para procesar los datos a veces es necesarios guardarlos en variables, en shell script existen dos tipos de variables ● Variables del sistema: Están creadas y predefinidas por el sistema, normalmente se representan en mayúsculas ● Variables del usuario: Son definidas por el usuario, normalmente se representan en minúsculas ● Para ver el contenido de la variable se utiliza el comando echo ●Ejempo: echo $PATH
  • 11. Las variables en shell script Variable Descripción BASH Ruta del shell actual BASH_VERSION La versión del shell que se está utilizando COLUMNS Número de columnas de la termina LINES Número de líneas de la terminal HOMEd Directorio home del usuario actual LOGNAME Nombre de usuario OSTYPE Tipo de sistema operativo PATH Rutas donde se encuentran los comandos PS1 Configuraciones del pronpt PWD Directorio actual de trabajo SHELL Nuestro shell USERNAME Nombre del usuario actual Modificar las variables del sistema puede traes serios problemas
  • 12. Las variables en shell script Agregando variables de usuario Para definir una variable llamada n con un valor de 10 $ n=10 Para definir una variable llamada vech con un valor de bus vech=Bus
  • 13. Reglas para definir variables 1. Las variables del sistema en mayúsculas las de usuario en minúsculas ●HOME, n 2 . No poner espacios ●N=10 3. Las variables son sencibles a las mayúsculas N y n son variables diferentes 4. Se pueden definir variables con valor NULL ●vech= ●vech=”” ●5. No usar caracteres extraños como ¡, ?,* etc, en los nombres de las variables
  • 14. Reglas para definir variables #/bin/bash # Tercer shell script sencillo # escrito por Carlos Leal MiNombre=Carlitos MiOS = Ubuntu MiNo=5 echo "Mi nombre es $MiNombre" echo "Estoy usando $MiOs" echo "Mi numero es MiNo" echo "Favor ayudarme a corregir los errores en este script"
  • 15. El comando echo Tal como se ha notado uno de los comandos más utilizados en shell script es el comando echo, conviene profundizar un poco. Es altamente recomendado leer detenidamene el manual del comando echo echo -e "Somos UCA attISTIn"
  • 16. Aritmética Shell Script Es posible hacer operaciones aritméticas con el comando expr, algunos ejemplos: $ expr 1 + 3 $ expr 2 - 1 $ expr 10 / 2 $ expr 20 % 3 $ expr 10 * 3 – caso extraño la multiplicación $ echo `expr 6 + 3`
  • 17. Algo sobre las comillas echo hola mundo $PATH echo ”hola mundo $PATH” echo 'hola mundo $PATH' echo `hola mundo $PATH` echo Hoy es date echo ”Hoy es date” echo ”Hoy es `date`”
  • 18. Exit Status Cuando se ejecuta un comando, el valor de exit status puede tener dos valores posibiles Cero si el comando se ejecuto adecuadamente No Cero, si el comando no se ejecuto correctamente Para determinar si el ultimo comando se utiliza la variable especial del shell $? $ ls $ echo $? $ wildwest canwork? $ echo $?
  • 19. La sentencia read #/bin/bash # Cuarto shell script sencillo # escrito por Carlos Leal clear echo "¿Cómo te llamas? ==> c:" read nombre echo "Hola $nombre, ¡Un placer conocerte!"
  • 20. Paso de parametros #!/bin/bash echo hemos pasado $# parametros echo la llamada a nuestro script se hizo con $0, y tenemos el numero $$ como PID echo el primero parametro pasado es $1 echo y el segundo, $2 echo el ultimo argumento que hemos utilizado es $_ echo todos los parametros pasados son: $@ echo el parametro anterior acabo con un valor de salida $? echo el ultimo argumento que hemos utilizado es $_