SlideShare una empresa de Scribd logo
1 de 14
Scripts de Linux
• Script = Guión = Proceso por Lotes
• Tareas repetitivas se pueden agrupar en un guión y
ejecutarse automáticamente (Batch Processing).
• Usaremos un editor de texto plano (por ejemplo gedit).
• Con #! en la primera línea indicamos qué shell debería
interpretar el resto de comandos (/bin/bash).
• Posteriormente escribimos los comandos separados
por saltos de línea.
• Antes de ejecutar el script tendremos que darle al
archivo permiso de ejecución: chmod +x fichero_script
• Para ejecutar el script teclearemos el nombre del
fichero anteponiéndole los caracteres ./
Introducción a los Scripts
- Usamos un editor (por ejemplo gedit) y creamos el fichero
hola.sh:
#!/bin/bash
clear
echo “hola”
- Con #! en la primera línea indicamos qué shell interpretará
el resto de comandos (/bin/bash).
- Posteriormente escribimos los comandos separados por
saltos de línea.
- Le damos permisos de ejecución: chmod +x hola.sh
- Lo ejecutamos: ./hola.sh
Nuestro primer shell script
– Una variable tiene un nombre y un valor, y sirve para dotar de
dinamismo y más potencia a nuestros scripts:
FECHA=”15/07/2004”
echo “Hoy es $FECHA”
– FECHA es el nombre de la variable.
– $FECHA es su valor.
– Para asignar un valor, se utiliza “=”. ¡¡¡SIN ESPACIOS!!
Variables
Existen una serie de variables predefinidas:
Las variables de entorno.Las variables de entorno.
(pueden verse con el comando env)
– Es posible leer del usuario el valor de una variable,
dotando a nuestros scripts de interactividad.
– cat hola.sh
#!/bin/bash
echo “Dime tu nombre:”
read NOMBRE
echo “Hola $NOMBRE, encantado de conocerte”
Variables: interactividad
– Para ejecutarlo tecleamos: ./hola.sh
– Es posible pasar los parámetros o argumentos que
queramos y utilizarlos dentro del script.
– cat nombre.sh
#!/bin/bash
echo “Nombre: $1”
echo “Primer Apellido: $2”
echo “Segundo Apellido: $3”
– ./nombre.sh Juan López Martínez
– ./nombre.sh “Maria Dolores” Pradera Sánchez
– $1, $2, $3... ${10}, ${11},… : argumentos
– $0 es el propio script.
– $#: número de argumentos que nos han pasado.
– $*: todos los argumentos. “$*” = “$1 $2 $3...”
Variables: parámetros o argumentos
Operaciones aritméticas
expr: Permite realizar operaciones aritméticas.
- Sintaxis: expr ARG1 OP ARG2
SUMA=`expr 7 + 5` (ojoespacios!)
echo $SUMA
- A algunos operadores hay que anteponerles una 
P=`expr 7 * 5` (ojo escapar operadores!)
P=`expr ( 7 + 5 ) * 2`
● test “$NOMBRE”==“Juan” (==, !=, >, <, >=, <=)
● test $DINERO –eq 1000 (-eq, -ne, -gt, -lt, -ge, -le)
● test -f /etc/passwd (-f, -d, -l, -r, -w, -x)
● cero = verdadero
● no cero = falso (¡¡AL REVÉS QUE EN C!!)
Condiciones: test
Control del flujo de ejecución
• Alternativa simple: if
• Alternativa múltiple: case
• Bucles repetitivos: while, until, for
Sintaxis:
If condición
then
comandos
else
comandos
fi
Alternativa simple: if
Ejemplo:
If test “$NOMBRE”==“Juan”
then
echo “Hola Juan, ¿qué tal?”
else
echo “No te conozco”
fi
Sintaxis:
case $VARIABLE in
“VALOR1”)
comandos
;;
“VALOR2”)
comandos
;;
*)
comandos
;;
esac
Alternativa múltiple: case
Ejemplo:
case $NOMBRE in
“Juan”)
echo “Hola Juan”
;;
“Pedro”)
echo “Pedreteee!!!!”
;;
*)
echo “no te conozco”
;;
esac
Sintaxis:
while condición
do
comandos
done
Bucle repetitivo while (mientras)
Ejemplo:
N=1
while [ $N –lt 100 ]
do
echo “Vuelta número $N”
N=`expr $N + 1`
sleep 1 # Esperamos 1 segundo
done
Sintaxis:
until condición
do
comandos
done
Bucle repetitivo until (hasta)
Ejemplo:
N=1
until [ $N –ge 100 ]
do
echo “Vuelta número $N”
N=`expr $N + 1`
sleep 1 # Esperamos 1 segundo
done
Sintaxis:
for VARIABLE in LISTA
do
comandos
done
Bucle repetitivo for (para)
Ejemplo 1:
for N in “sopa” “carne” “pan de ajo”
do
echo “Hoy comemos $N”
done
Produce una ejecución repetitiva asignando a una variable
de control valores de una lista.
En la LISTA se define la separación de cada elemento por el
valor de la variable de entorno IFS, que por defecto toma
espacios en blanco, tabuladores y saltos de línea.
Ejemplo 2:
IFS=“:”
echo “Directorios en el path…”
for N in $PATH
do
echo $N
done

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

9.laravel
9.laravel9.laravel
9.laravel
 
MAnual de php básico
MAnual de php básicoMAnual de php básico
MAnual de php básico
 
HASH Organizacion de Archivos en Bases de Datos
HASH Organizacion de Archivos en Bases de DatosHASH Organizacion de Archivos en Bases de Datos
HASH Organizacion de Archivos en Bases de Datos
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Usando flex en Windows
Usando flex en WindowsUsando flex en Windows
Usando flex en Windows
 
¿Porqué Python? ...y Django
¿Porqué Python? ...y Django¿Porqué Python? ...y Django
¿Porqué Python? ...y Django
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
Conceptos básicos del shell
Conceptos básicos del shellConceptos básicos del shell
Conceptos básicos del shell
 
RECURSIVIDAD C++
RECURSIVIDAD C++RECURSIVIDAD C++
RECURSIVIDAD C++
 
Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison
 
Interprete vs compilador
Interprete vs compiladorInterprete vs compilador
Interprete vs compilador
 
Unidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIASUnidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIAS
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
 
Expresiones logicas
Expresiones logicasExpresiones logicas
Expresiones logicas
 
Python
PythonPython
Python
 
Php array
Php arrayPhp array
Php array
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
 
Particiones EstáTicas
Particiones EstáTicasParticiones EstáTicas
Particiones EstáTicas
 
Estructuras de archivos
Estructuras de archivosEstructuras de archivos
Estructuras de archivos
 

Destacado

Introducción a shell script
Introducción a shell scriptIntroducción a shell script
Introducción a shell scriptPablo Macon
 
Proyecto 2016 - ITS - SISTEMAS OPERATIVOS II
Proyecto 2016 - ITS - SISTEMAS OPERATIVOS IIProyecto 2016 - ITS - SISTEMAS OPERATIVOS II
Proyecto 2016 - ITS - SISTEMAS OPERATIVOS IIPablo Macon
 
Ejercicios resuelto de shell script
Ejercicios resuelto  de shell scriptEjercicios resuelto  de shell script
Ejercicios resuelto de shell scriptYarlet Urda
 
Comandos cat y uso de man
Comandos cat y uso de manComandos cat y uso de man
Comandos cat y uso de manPablo Macon
 
Creacion de scripts en linux
Creacion de scripts en linuxCreacion de scripts en linux
Creacion de scripts en linuxGabriel Calderon
 
Taller de Shell Scripting
Taller de Shell ScriptingTaller de Shell Scripting
Taller de Shell ScriptingEnrique Verdes
 

Destacado (9)

Introducción a shell script
Introducción a shell scriptIntroducción a shell script
Introducción a shell script
 
Proyecto 2016 - ITS - SISTEMAS OPERATIVOS II
Proyecto 2016 - ITS - SISTEMAS OPERATIVOS IIProyecto 2016 - ITS - SISTEMAS OPERATIVOS II
Proyecto 2016 - ITS - SISTEMAS OPERATIVOS II
 
Actividad 3_Impress
Actividad 3_ImpressActividad 3_Impress
Actividad 3_Impress
 
Ejercicios resuelto de shell script
Ejercicios resuelto  de shell scriptEjercicios resuelto  de shell script
Ejercicios resuelto de shell script
 
Comandos cat y uso de man
Comandos cat y uso de manComandos cat y uso de man
Comandos cat y uso de man
 
Creacion de scripts en linux
Creacion de scripts en linuxCreacion de scripts en linux
Creacion de scripts en linux
 
Taller de Shell Scripting
Taller de Shell ScriptingTaller de Shell Scripting
Taller de Shell Scripting
 
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
 
Blackcats2
Blackcats2Blackcats2
Blackcats2
 

Similar a Los scripts de linux

Similar a Los scripts de linux (20)

El shell-bash
El shell-bashEl shell-bash
El shell-bash
 
32773 php-basico
32773 php-basico32773 php-basico
32773 php-basico
 
Curso Bash 3
Curso Bash 3Curso Bash 3
Curso Bash 3
 
0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf
 
Perl (practical extraction and report language)
Perl (practical extraction and report language)Perl (practical extraction and report language)
Perl (practical extraction and report language)
 
Php
PhpPhp
Php
 
Shell script
Shell scriptShell script
Shell script
 
Perl4 io
Perl4 ioPerl4 io
Perl4 io
 
Estructuras de control 1.0
Estructuras de control 1.0Estructuras de control 1.0
Estructuras de control 1.0
 
Linux basico-8.PDF
Linux basico-8.PDFLinux basico-8.PDF
Linux basico-8.PDF
 
PHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básicoPHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básico
 
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
 
bash
bashbash
bash
 
Introduction to linux for bioinformatics
Introduction to linux for bioinformaticsIntroduction to linux for bioinformatics
Introduction to linux for bioinformatics
 
4072954.ppt
4072954.ppt4072954.ppt
4072954.ppt
 
Tema2 3
Tema2 3Tema2 3
Tema2 3
 
Script Y Comandos De Linux
Script Y Comandos De LinuxScript Y Comandos De Linux
Script Y Comandos De Linux
 
Programación en Bash
Programación en BashProgramación en Bash
Programación en Bash
 
Script presentacion
Script presentacionScript presentacion
Script presentacion
 
Unix 1314 test
Unix 1314 testUnix 1314 test
Unix 1314 test
 

Último

Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 

Último (20)

Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 

Los scripts de linux

  • 2. • Script = Guión = Proceso por Lotes • Tareas repetitivas se pueden agrupar en un guión y ejecutarse automáticamente (Batch Processing). • Usaremos un editor de texto plano (por ejemplo gedit). • Con #! en la primera línea indicamos qué shell debería interpretar el resto de comandos (/bin/bash). • Posteriormente escribimos los comandos separados por saltos de línea. • Antes de ejecutar el script tendremos que darle al archivo permiso de ejecución: chmod +x fichero_script • Para ejecutar el script teclearemos el nombre del fichero anteponiéndole los caracteres ./ Introducción a los Scripts
  • 3. - Usamos un editor (por ejemplo gedit) y creamos el fichero hola.sh: #!/bin/bash clear echo “hola” - Con #! en la primera línea indicamos qué shell interpretará el resto de comandos (/bin/bash). - Posteriormente escribimos los comandos separados por saltos de línea. - Le damos permisos de ejecución: chmod +x hola.sh - Lo ejecutamos: ./hola.sh Nuestro primer shell script
  • 4. – Una variable tiene un nombre y un valor, y sirve para dotar de dinamismo y más potencia a nuestros scripts: FECHA=”15/07/2004” echo “Hoy es $FECHA” – FECHA es el nombre de la variable. – $FECHA es su valor. – Para asignar un valor, se utiliza “=”. ¡¡¡SIN ESPACIOS!! Variables Existen una serie de variables predefinidas: Las variables de entorno.Las variables de entorno. (pueden verse con el comando env)
  • 5. – Es posible leer del usuario el valor de una variable, dotando a nuestros scripts de interactividad. – cat hola.sh #!/bin/bash echo “Dime tu nombre:” read NOMBRE echo “Hola $NOMBRE, encantado de conocerte” Variables: interactividad – Para ejecutarlo tecleamos: ./hola.sh
  • 6. – Es posible pasar los parámetros o argumentos que queramos y utilizarlos dentro del script. – cat nombre.sh #!/bin/bash echo “Nombre: $1” echo “Primer Apellido: $2” echo “Segundo Apellido: $3” – ./nombre.sh Juan López Martínez – ./nombre.sh “Maria Dolores” Pradera Sánchez – $1, $2, $3... ${10}, ${11},… : argumentos – $0 es el propio script. – $#: número de argumentos que nos han pasado. – $*: todos los argumentos. “$*” = “$1 $2 $3...” Variables: parámetros o argumentos
  • 7. Operaciones aritméticas expr: Permite realizar operaciones aritméticas. - Sintaxis: expr ARG1 OP ARG2 SUMA=`expr 7 + 5` (ojoespacios!) echo $SUMA - A algunos operadores hay que anteponerles una P=`expr 7 * 5` (ojo escapar operadores!) P=`expr ( 7 + 5 ) * 2`
  • 8. ● test “$NOMBRE”==“Juan” (==, !=, >, <, >=, <=) ● test $DINERO –eq 1000 (-eq, -ne, -gt, -lt, -ge, -le) ● test -f /etc/passwd (-f, -d, -l, -r, -w, -x) ● cero = verdadero ● no cero = falso (¡¡AL REVÉS QUE EN C!!) Condiciones: test
  • 9. Control del flujo de ejecución • Alternativa simple: if • Alternativa múltiple: case • Bucles repetitivos: while, until, for
  • 10. Sintaxis: If condición then comandos else comandos fi Alternativa simple: if Ejemplo: If test “$NOMBRE”==“Juan” then echo “Hola Juan, ¿qué tal?” else echo “No te conozco” fi
  • 11. Sintaxis: case $VARIABLE in “VALOR1”) comandos ;; “VALOR2”) comandos ;; *) comandos ;; esac Alternativa múltiple: case Ejemplo: case $NOMBRE in “Juan”) echo “Hola Juan” ;; “Pedro”) echo “Pedreteee!!!!” ;; *) echo “no te conozco” ;; esac
  • 12. Sintaxis: while condición do comandos done Bucle repetitivo while (mientras) Ejemplo: N=1 while [ $N –lt 100 ] do echo “Vuelta número $N” N=`expr $N + 1` sleep 1 # Esperamos 1 segundo done
  • 13. Sintaxis: until condición do comandos done Bucle repetitivo until (hasta) Ejemplo: N=1 until [ $N –ge 100 ] do echo “Vuelta número $N” N=`expr $N + 1` sleep 1 # Esperamos 1 segundo done
  • 14. Sintaxis: for VARIABLE in LISTA do comandos done Bucle repetitivo for (para) Ejemplo 1: for N in “sopa” “carne” “pan de ajo” do echo “Hoy comemos $N” done Produce una ejecución repetitiva asignando a una variable de control valores de una lista. En la LISTA se define la separación de cada elemento por el valor de la variable de entorno IFS, que por defecto toma espacios en blanco, tabuladores y saltos de línea. Ejemplo 2: IFS=“:” echo “Directorios en el path…” for N in $PATH do echo $N done