Bash

  • Uploaded by: Hugo
  • 0
  • 0
  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Bash as PDF for free.

More details

  • Words: 4,385
  • Pages: 96
Shell: aquel desconocido API de shell Manos a la obra!

Introducci´on a la programaci´on en Bash Mauro Parra Miranda [email protected]

November 19, 2005

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Qu´e es un shell

I

El shell es un interprete de comandos

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Qu´e es un shell

I

El shell es un interprete de comandos

I

Pero tambien es un lenguaje

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Qu´e es un shell

I

El shell es un interprete de comandos

I

Pero tambien es un lenguaje

I

El conjunto de comandos es un script

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Qu´e es un shell

I

El shell es un interprete de comandos

I

Pero tambien es un lenguaje

I

El conjunto de comandos es un script

I

Un script sirve como ’pegamento’ de diversos comandos sencillos, que en conjunto son considerablemente poderosos.

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Por qu´e aprender a programarlo?

I

Te evita hacer tareas repetitivas

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Por qu´e aprender a programarlo?

I

Te evita hacer tareas repetitivas

I

Es bueno conocerlos, alg´ un dia resolver´a algun problema como con los scripts en /etc/rc.d

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Por qu´e aprender a programarlo?

I

Te evita hacer tareas repetitivas

I

Es bueno conocerlos, alg´ un dia resolver´a algun problema como con los scripts en /etc/rc.d

I

Es facil de aprender: piensa que quieres hacer - escribelo revisalo (ahora ponlo todo en un archivo o script)

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Por qu´e aprender a programarlo?

I

Te evita hacer tareas repetitivas

I

Es bueno conocerlos, alg´ un dia resolver´a algun problema como con los scripts en /etc/rc.d

I

Es facil de aprender: piensa que quieres hacer - escribelo revisalo (ahora ponlo todo en un archivo o script)

I

Usualmente no tienes que debugear mucho, es como si vaciaras lo que harias en el prompt de comandos, pero escrito en un archivo.

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Por qu´e aprender a programarlo?

I

Te evita hacer tareas repetitivas

I

Es bueno conocerlos, alg´ un dia resolver´a algun problema como con los scripts en /etc/rc.d

I

Es facil de aprender: piensa que quieres hacer - escribelo revisalo (ahora ponlo todo en un archivo o script)

I

Usualmente no tienes que debugear mucho, es como si vaciaras lo que harias en el prompt de comandos, pero escrito en un archivo.

I

Es ideal para hacer algunos prototipos

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Por qu´e aprender a programarlo?

I

Te evita hacer tareas repetitivas

I

Es bueno conocerlos, alg´ un dia resolver´a algun problema como con los scripts en /etc/rc.d

I

Es facil de aprender: piensa que quieres hacer - escribelo revisalo (ahora ponlo todo en un archivo o script)

I

Usualmente no tienes que debugear mucho, es como si vaciaras lo que harias en el prompt de comandos, pero escrito en un archivo.

I

Es ideal para hacer algunos prototipos

I

Es muy *nix: Keep It Simple Stupid! (divide y venceras)

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

No se use en caso de...

I

Hacer matem´aticas intensas - Use Fortran (si aun existe)

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

No se use en caso de...

I

Hacer matem´aticas intensas - Use Fortran (si aun existe)

I

Requerir super portabilidad - Use Java, .NET o ’C’

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

No se use en caso de...

I

Hacer matem´aticas intensas - Use Fortran (si aun existe)

I

Requerir super portabilidad - Use Java, .NET o ’C’

I

Aplicaciones complejas - Por ejemplo, que requieran estructuras mas elaboradas

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

No se use en caso de...

I

Hacer matem´aticas intensas - Use Fortran (si aun existe)

I

Requerir super portabilidad - Use Java, .NET o ’C’

I

Aplicaciones complejas - Por ejemplo, que requieran estructuras mas elaboradas

I

Aplicaciones de misi´ on critica

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

No se use en caso de...

I

Hacer matem´aticas intensas - Use Fortran (si aun existe)

I

Requerir super portabilidad - Use Java, .NET o ’C’

I

Aplicaciones complejas - Por ejemplo, que requieran estructuras mas elaboradas

I

Aplicaciones de misi´ on critica

I

Requerir estructuras de datos ’elegantes’ - Listas ligadas, arboles

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

No se use en caso de...

I

Hacer matem´aticas intensas - Use Fortran (si aun existe)

I

Requerir super portabilidad - Use Java, .NET o ’C’

I

Aplicaciones complejas - Por ejemplo, que requieran estructuras mas elaboradas

I

Aplicaciones de misi´ on critica

I

Requerir estructuras de datos ’elegantes’ - Listas ligadas, arboles

I

Crear Aplicaciones propietarias - Es dificil de ofuscar :)

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

API del shell

I

Todo comando de *nix puede ser invocado

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

API del shell

I

Todo comando de *nix puede ser invocado

I

Comandos de testing

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

API del shell

I

Todo comando de *nix puede ser invocado

I

Comandos de testing

I

loops - ciclos

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

API del shell

I

Todo comando de *nix puede ser invocado

I

Comandos de testing

I

loops - ciclos

I

Tus propios programas o scripts son parte del API!

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

C´omo creo un script?

I

Crea un archivo miscript.sh con tu editor de textos favorito

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

C´omo creo un script?

I

Crea un archivo miscript.sh con tu editor de textos favorito

I

Dale permisos de ejecuci´ on: chmod +x miscript.sh

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

C´omo creo un script?

I

Crea un archivo miscript.sh con tu editor de textos favorito

I

Dale permisos de ejecuci´ on: chmod +x miscript.sh

I

Ejecutalo: ./miscript.sh

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

C´omo creo un script?

I

Crea un archivo miscript.sh con tu editor de textos favorito

I

Dale permisos de ejecuci´ on: chmod +x miscript.sh

I

Ejecutalo: ./miscript.sh

I

Listo!

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

C´omo creo un script?

I

Crea un archivo miscript.sh con tu editor de textos favorito

I

Dale permisos de ejecuci´ on: chmod +x miscript.sh

I

Ejecutalo: ./miscript.sh

I

Listo!

I

En serio, eso es todo. :)

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Hola mundo!

#!/bin/bash echo ’Hello world’

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Corriendo el script

I

Guardarlo en el archivo script.sh

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Corriendo el script

I

Guardarlo en el archivo script.sh

I

chmod +x script.sh

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Corriendo el script

I

Guardarlo en el archivo script.sh

I

chmod +x script.sh

I

./script.sh

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Respaldo

#!/bin/bashLimpieza DATE=‘date +%d-%m-%y‘ USER=foobar echo ’Comenzando el backup’ tar cjvf /tmp/$USER-$DATE.tbz /home/foobar echo ’Backup terminado’

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Redireccionando

I

Redireccionar stdout a un archivo

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Redireccionando

I

Redireccionar stdout a un archivo

I

Redireccionar stderr a un archivo

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Redireccionando

I

Redireccionar stdout a un archivo

I

Redireccionar stderr a un archivo

I

Redireccionar stdout a stderr

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Redireccionando

I

Redireccionar stdout a un archivo

I

Redireccionar stderr a un archivo

I

Redireccionar stdout a stderr

I

Redireccionar stderr a stdout

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Redireccionando

I

Redireccionar stdout a un archivo

I

Redireccionar stderr a un archivo

I

Redireccionar stdout a stderr

I

Redireccionar stderr a stdout

I

Redireccionar stdout y stderr a un archivo

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Ejemplo de redireccionamiento

ls -l >ls-l.txt

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Ejemplo de redireccionamiento

grep da * 2> grep-errors.txt

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Ejemplo de redireccionamiento

grep da * 1>&2 grep-errors.txt

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Ejemplo de redireccionamiento

grep * 2>&1

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Ejemplo de redireccionamiento

rm -f $(find / -name core) &> /dev/null

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Tuberias o Pipes

I

Una tuberia sirve para redireccionar la salida de un comando a la entrada de otro

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Tuberias o Pipes

I

Una tuberia sirve para redireccionar la salida de un comando a la entrada de otro

I

Por omision, la salida estandar sera redireccionada a la entrada estandar del otro programa

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Ejemplo de tuberia

ls -l | grep ‘‘\.txt$’’

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Variables

I

Las variables no necesitan ser declaradas

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Variables

I

Las variables no necesitan ser declaradas

I

Son dinamicas ademas (no tienes que ’alojar’ memoria)

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Hola mundo! meet variables

#!/bin/bash STR=’’Hello world!’’ echo $STR

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Respaldo

#!/bin/bash OF=/var/my-backup-$(date +%Y%m%d).tgz tar -cZf $OF /home/me/#!/bin/bash

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Hola mundo!

#!/bin/bash HELLO=Hello function hello { local HELLO=World echo $HELLO } echo $HELLO hello echo $HELLO

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Condicionales

I

Tenemos if’s en bash! Con diferentes sabores

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Condicionales

I

Tenemos if’s en bash! Con diferentes sabores

I

if expression then statement

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Condicionales

I

Tenemos if’s en bash! Con diferentes sabores

I

if expression then statement

I

if expression then statement1 else statement2

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Condicionales

I

Tenemos if’s en bash! Con diferentes sabores

I

if expression then statement

I

if expression then statement1 else statement2

I

if expression1 then statement1 else if expression2 then statement2 else statement3

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Ejemplo de if-then

#!/bin/bash if [ ‘‘foo’’ = ‘‘foo’’ ]; then echo ‘‘Cierto, foo == foo’’ fi

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Ejemplo de if-then-else

#!/bin/bash if [ ‘‘foo’’ = ‘‘foo’’ ]; then echo ‘‘Cierto, foo == foo’’ else echo ‘‘Era falsa’’ fi

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Cuando las variables y condicionales se encuentran

#!/bin/bash T1=’’foo’’ T2=’’bar’’ if [ $T1 = $T2 ]; then echo ‘‘Cierto, ‘‘$T1’’== ‘‘$T2 else echo ‘‘No es cierto’’ fi

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

–Fruit– Loops err... ciclos

I

for - es un poco diferente, puedes iterar sobre cadenas o palabras en las cadenas

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

–Fruit– Loops err... ciclos

I

for - es un poco diferente, puedes iterar sobre cadenas o palabras en las cadenas

I

while - ejecuta un pedazo de codigo si una condicion se cumple, y para cuando es falsa

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

–Fruit– Loops err... ciclos

I

for - es un poco diferente, puedes iterar sobre cadenas o palabras en las cadenas

I

while - ejecuta un pedazo de codigo si una condicion se cumple, y para cuando es falsa

I

until - ejecuta un pedazo de codigo, hasta que una expresion sea falsa

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

–Fruit– Loops err... ciclos

I

for - es un poco diferente, puedes iterar sobre cadenas o palabras en las cadenas

I

while - ejecuta un pedazo de codigo si una condicion se cumple, y para cuando es falsa

I

until - ejecuta un pedazo de codigo, hasta que una expresion sea falsa

I

Cuide sus expresiones, no vaya a caer en un ciclo infinito

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Mi primer for

#!/bin/bash for i in $( ls ); do echo item: $i done

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Mira mam´a, como en C

#!/bin/bash for i in ‘seq 1 10‘; do echo $i done

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

El while

#!/bin/bash COUNTER=0 while [ $COUNTER -lt 10 ]; do echo The counter is $COUNTER let COUNTER=COUNTER+1 done

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

hey! que era eso de let?

I

Note el uso de let, let lo que hace es evaluar arithmeticamente la expresion que sigue

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

hey! que era eso de let?

I

Note el uso de let, let lo que hace es evaluar arithmeticamente la expresion que sigue

I

Para mas en expresiones aritmeticas, da: ’man bash’ y busca ARITHMETIC EVALUATION

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

El until

#!/bin/bash COUNTER=20 until [ $COUNTER -lt 10 ]; do echo COUNTER $COUNTER let COUNTER-=1 done

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Funciones

I

Para hacer los programas ordenados

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Funciones

I

Para hacer los programas ordenados

I

Para reusar codigo

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Funciones

I

Para hacer los programas ordenados

I

Para reusar codigo

I

Para ser recursivo

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Ejemplo de funcion

#!/bin/bash function quit { exit } function hello { echo Hello! } hello quit echo foo

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Ejemplo de funciones con argumentos

#!/bin/bash function quit { exit } function e { echo $1 } e Hello e World quit echo foo

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Haciendo un men´u

I

Podemos hacer un menu en shell!

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Menu simple #!/bin/bash OPTIONS=’’Hello Quit’’ select opt in $OPTIONS; do if [ ‘‘$opt’’ = ‘‘Quit’’ ]; then echo done exit elif [ ‘‘$opt’’ = ‘‘Hello’’ ]; then echo Hello World else clear echo bad option fi done Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Revisando argumentos

I

Para completar el menu, tenemos forma de revisar los argumentos!

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Mira mam´a, con argumentos!

#!/bin/bash if [ -z ‘‘$1’’ ]; then echo usage: $0 directory exit fi SRCD=$1 TGTD=’’/var/backups/’’ OF=home-$(date +%Y%m%d).tgz tar -cZf $TGTD$OF $SRCD done

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Leyendo entradas de los usuarios

I

Podemos leer entradas ’interactivas’ del usuario

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Leyendo entradas de los usuarios

I

Podemos leer entradas ’interactivas’ del usuario

I

Notan que podemos hacer un facil juego en BASH?

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Leyendo entradas de los usuarios

I

Podemos leer entradas ’interactivas’ del usuario

I

Notan que podemos hacer un facil juego en BASH?

I

Si, un juego en texto :)

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

read

#!/bin/bash echo Por favor, meta su nombre read NAME echo ‘‘Hi $NAME!’’

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

+ reads

#!/bin/bash echo Por favor, meta su nombre y apellido read FN LN echo ‘‘Hi! $LN, $FN !’’

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Usando bash como calculadora

I

Uno puede hacer uso del sistema de expresiones aritmeticas de bash

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Usando bash como calculadora

I

Uno puede hacer uso del sistema de expresiones aritmeticas de bash

I

Si hacen algo como: echo 1+1 - no obtendran los resultados adecuados (bash interpretara 1+1 como cadena, y como tal, la imprimira)

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Usando bash como calculadora

I

Uno puede hacer uso del sistema de expresiones aritmeticas de bash

I

Si hacen algo como: echo 1+1 - no obtendran los resultados adecuados (bash interpretara 1+1 como cadena, y como tal, la imprimira)

I

Se puede hacer: echo $((1+1))

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Usando bash como calculadora

I

Uno puede hacer uso del sistema de expresiones aritmeticas de bash

I

Si hacen algo como: echo 1+1 - no obtendran los resultados adecuados (bash interpretara 1+1 como cadena, y como tal, la imprimira)

I

Se puede hacer: echo $((1+1))

I

Se puede hacer: echo $[1+1]

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Usando bash como calculadora

I

Uno puede hacer uso del sistema de expresiones aritmeticas de bash

I

Si hacen algo como: echo 1+1 - no obtendran los resultados adecuados (bash interpretara 1+1 como cadena, y como tal, la imprimira)

I

Se puede hacer: echo $((1+1))

I

Se puede hacer: echo $[1+1]

I

Solo funciona con enteros. Si necesita algo mas alla de ello, use bc

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Si necesita uno debugear

I

Use #!/bin/bash -x

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Mas recursos

I

BASH Prog howto - http://www.tldp.org/HOWTO/BashProg-Intro-HOWTO.html

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Mas recursos

I

BASH Prog howto - http://www.tldp.org/HOWTO/BashProg-Intro-HOWTO.html

I

man bash

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Mas recursos

I

BASH Prog howto - http://www.tldp.org/HOWTO/BashProg-Intro-HOWTO.html

I

man bash

I

Advanced Programming http://www.tldp.org/LDP/abs/html/

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Mas recursos

I

BASH Prog howto - http://www.tldp.org/HOWTO/BashProg-Intro-HOWTO.html

I

man bash

I

Advanced Programming http://www.tldp.org/LDP/abs/html/

I

shc - http://www.datsi.fi.upm.es/ frosal/

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Mas recursos

I

BASH Prog howto - http://www.tldp.org/HOWTO/BashProg-Intro-HOWTO.html

I

man bash

I

Advanced Programming http://www.tldp.org/LDP/abs/html/

I

shc - http://www.datsi.fi.upm.es/ frosal/

I

http://www.mechulk.com/docs/bash.pdf

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Mas recursos

I

BASH Prog howto - http://www.tldp.org/HOWTO/BashProg-Intro-HOWTO.html

I

man bash

I

Advanced Programming http://www.tldp.org/LDP/abs/html/

I

shc - http://www.datsi.fi.upm.es/ frosal/

I

http://www.mechulk.com/docs/bash.pdf

I

irc.freenode.org #lidsol

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Mas recursos

I

BASH Prog howto - http://www.tldp.org/HOWTO/BashProg-Intro-HOWTO.html

I

man bash

I

Advanced Programming http://www.tldp.org/LDP/abs/html/

I

shc - http://www.datsi.fi.upm.es/ frosal/

I

http://www.mechulk.com/docs/bash.pdf

I

irc.freenode.org #lidsol

I

[email protected]

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Gracias por resistir hasta aqui!

I

Tienen mas preguntas?

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Gracias por resistir hasta aqui!

I

Tienen mas preguntas?

I

man bash

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Shell: aquel desconocido API de shell Manos a la obra!

Gracias por resistir hasta aqui!

I

Tienen mas preguntas?

I

man bash

I

http://www.mechulk.com/docs/bash.pdf

Mauro Parra Miranda [email protected]

Introducci´ on a la programaci´ on en Bash

Related Documents

Bash
April 2020 13
Bash
May 2020 14
Bash
May 2020 11
Bash
October 2019 18
Bash Iran
November 2019 20
Bash Commands
June 2020 2

More Documents from ""

Tipografia
June 2020 9
May 2020 4
November 2019 17
May 2020 2