100% encontró este documento útil (1 voto)
511 vistas19 páginas

Curso Bash Scripting

Este documento presenta una introducción al scripting en Bash. Explica qué es un shell y las características del entorno Bash, incluyendo operadores, redirecciones, variables y estructuras de control como if/else, for y while. También cubre funciones, lectura de entrada, diálogos y ejemplos de scripts y ejercicios prácticos para aprender Bash.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
511 vistas19 páginas

Curso Bash Scripting

Este documento presenta una introducción al scripting en Bash. Explica qué es un shell y las características del entorno Bash, incluyendo operadores, redirecciones, variables y estructuras de control como if/else, for y while. También cubre funciones, lectura de entrada, diálogos y ejemplos de scripts y ejercicios prácticos para aprender Bash.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Curso Bsico: Bash Scripting

Vianney Chacn Madriz Oficina de TI IC-ITCR

Agenda

Fundamentos de GNU/Linux (Revisin) Qu es un shell? Ambiente en BASH Sintxis de BASH Ejemplos de scripts Ejercicios

Qu es un Shell?

Intrprete de comando de Unix / Linux Proporciona una interfz para manipular el sistema operativo sh, bash, zsh, otras. Cambia la sintaxis y el entorno

Ambiente BASH
* -> equivale a cualquier cadena de texto en un nombre de archivo ? -> equivale a cualquier caracter en un nombre de archivo[ ] -> evala una condicin lgica [! ] -> evala una condicin lgica negativa| -> utiliza la salida del comando izquierdo, como entrada del comando derecho

Ambiente BASH
\ -> Protege el siguiente metacarcter para que la shell no lo interprete& -> Ejecuta
un proceso en segundo plano $ -> Extrae el contenido de una variable> -> redirige la salida estndar, creando un archivo nuevo, borrando el existente>> -> redirige la salida estndar, creando un archivo nuevo o aadiendo al existente

Ambiente BASH
2> -> redirige la salida de error, creando un archivo nuevo, borrando el existente2>> -> redirige la salida de error, creando un archivo nuevo o aadiendo al existente< -> Redirige la entrada estndar ( ) -> Agrupacin de comandos

Ambiente BASH
&& -> "Y" lgico entre rdenes
|| -> O lgico entre rdenes

$# -> Numero de argumentos


$1 -> Argumento 1

$n -> Argumento n

Sintaxis BASH

Comentarios con # Separador de instrucciones: cambio linea o ; echo: imprime en pantalla #/bin/bash : identificador de archivo

Case
case "$variable" in abc) echo "$variable = abc" ;;

xyz) echo "$variable = xyz" echo "Fin" ;; esac

If
if [ $# -eq 0 ] then echo "$0 : Debe ingresar argumentos" exit 1 fi

For
for i in `ls *.txt`do cat $idone for (( i = 0 ; i <= 5; i++ )) do echo "Hola $i veces" done echo "Archivo $i"

ChessBoard
for (( i = 1; i <= 9; i++ )) do for (( j = 1 ; j <= 9; j++ )) do tot=`expr $i + $j` tmp=`expr $tot % 2` if [ $tmp -eq 0 ]; then echo -e -n "\033[47m " ; else echo -e -n "\033[40m " ; fi done echo -e -n "\033[40m" #### set back background colour to black echo "" #### print the new line ###done

While
while [ condition ] do command1 command2 command3 .. .... done

Funciones
function demo() { echo "All Arguments to function demo(): $*" echo "First argument $1" echo "Second argument $2" echo "Third argument $3" return }

demo -f foo bar

Read
read <var> echo $<var>

Dialog
dialog --title {title} --backtitle {backtitle} {Box options} where Box options can be any one of following --yesno {text} {height} {width} --msgbox {text} {height} {width} --infobox {text} {height} {width} --inputbox {text} {height} {width} [{init}] --textbox {file} {height} {width} --menu {text} {height} {width} {menu} {height} {tag1} item1}...

dialog --title "Inputbox - To take input from you" -backtitle "Linux Shell Script Tutorial" --inputbox "Enter your name please" 8 60 2>/tmp/input.$$ sel=$? na=`cat /tmp/input.$$` case $sel in 0) echo "Hello $na" ;; 1) echo "Cancel is Press" ;; 255) echo "[ESCAPE] key pressed" ;; esac rm -f /tmp/input.$$

Ejercicios
1.Modificar el valor del PS1 en el .bash_profile (texto) 2.Modificar el valor del PS1 en el .bash_profile (grafico) 3.Aadir un alias en el .bash_profile 4.Hacer un script que baje de internet una imagen, y la ponga de fondo de pantalla 5.Que baje varias imagenes y las rote en un intervalo de tiempo 6.Hacer un menu para ejecutar los demas scripts

Referencias

http://tldp.org/LDP/abs/html/ http://www.freeos.com/guides/lsst/ # man bash

También podría gustarte