Sie sind auf Seite 1von 9

INSTITUTO TECNOLOGICO DE COLIMA

Docente : M.C. JORGE GUADALUPE CASTELLANOS MORFIN Carlos Hugo Sandoval Nuez Jose Heriberto Perez Magaa Programacin en Bash

PROGRAMACION BASH
El shell es un intrprete de rdenes, pero el shell no es solamente eso; los intrpretes de rdenes de Linux son autnticos lenguajes de programacin. Como tales, incorporan sentencias de control de flujo, sentencias de asignacin, funciones, etc. Los programas de shell no necesitan ser compilados como ocurre en otros lenguajes. En este caso, el propio shell los ejecuta lnea a lnea. A estos programas se les conoce con el nombre de shell scripts y son los equivalentes a los archivos por lotes de otros sistemas operativos. EMPECEMOS CON LA PROGRAMACION Crear un archivo de texto con el editor vi . Este archivo contendr las rdenes que el shell va a ir interpretando y ejecutando. Asignar permisos de ejecucin al archivo creado, utilizando la orden chmod. Ejemplo chmod 700 archivo Con lo anterior asignaremos permisos de ejecucin a nuestro archivo Una vez que lo ponemos con permisos de ejecucin lo ejecutaremos de la siguiente manera Nos posicionamos en el directorio donde tenemos nuestro archivo y en el Shell #./archivo

EJEMPLOS DE PROGRAMAS ESCRITOS EN PROGRAMACION BASH PROGRAMA QUE MUESTRA EL TIPICO MENSAJE HOLA MUNDO #!/bin/bash clear echo Hola mundo... OBTENER EL MAYOR DE 3 NUMEROS #!/bin/bash clear echo Ingrese el primer valor read val1 echo Ingrese el segundo valor read val2 echo Ingrese el tercer valor read val3 max=$val1 if [ $val2 -gt $max ] then max=$val2 if [ $val3 -gt $max ] then max=$val3 fi fi echo El valor mayor es: $max

MANEJO DE PASE DE PARAMETROS EN PROGRAMACION BASH #!/bin/bash clear echo Nombre del programa $0 echo El primer parametro es $1 echo El segundo parametro es $2 echo El tercer parametro es $3 MANEJO DE PARAMETROS CON OPERACIONES MATEMATICAS #!/bin/bash clear echo Nombre del programa $0 echo El primer parametro es $1 echo El segundo parametro es $2 echo El tercer parametro es $3 res=`expr $1 + $2 + $3` echo $# echo $* echo $res PROGRAMA QUE MUESTRA SI TECLEAS UNA VOCAL #!/bin/bash clear echo Programa para evaluar tecleo de vocales echo teclea un caracter read letra case $letra in

a) echo tecleaste una letra a ;; e) echo tecleaste una letra e;; i) echo tecleaste una vocal i;; o) echo tecleaste la vocal o;; u) echo tecleaste la vocal u;; *) echo $letra no es vocal esac PROGRAMA QUE OBTIENE APARTIR DE DOS NUMEROS: SUMA, RESTA, MULTIPLICACION, DIVISION, RESIDUO Y EL MAYOR. #!/bin/bash clear echo -n Ingrese su nombre: read val1 echo hola $val1 echo Ingres el primer valor read val2 echo Ingres el segundo valor read val3 sum=`expr $val2 + $val3` res=`expr $val2 - $val3` mul=`expr $val2 \* $val3` div=`expr $val2 / $val3` cen=`expr $val2 % $val3`

echo La suma es = $sum echo La resta es = $res echo La multiplicacion es = $mul echo La divicion es = $div echo La no se que es = $cen if [ $val2 -lt $val3 ] then echo $val3 es mayor que $val2 else if [ $val2 -eq $val3 ] then echo Los valores son iguales else echo $val2 es mayor que $val3 fi fi USO DE CASE PARA LA IMPLEMENTACION DE UN MENU CON LAS SIGUIENTES OPCIONES: 1.-FACTORIAL DE UN NUMERO 2.-VER LA SERIE DE FIBONACCI 3.-UN NUMERO X ELEVADO A LA POTENCIA Y #!/bin/bash op=0 while [ $op -ne 4 ] do clear echo Bien venidos al MENU echo Que es lo que quiere hacer echo 1) Sacar el factorial de un numeor echo 2) Ver la serie fibonacci

echo 3) Ver el valor de un numero X a la Y potencia echo 4) salir del programa read op case $op in 1) echo Introdusca el numero a factorializar read numero echo Numero ingresado: $numero i=1 factorial=1 while [ $i -le $numero ] do let factorial*=$i let i=$i+1 done echo Factorial: $factorial read q;; 2) echo Cuantos numeros: read num num1=0 num2=1 echo Series Fibonacii: echo $num1 echo $num2 count=2 while [ $count -le $num ] do

num3=`expr $num1 + $num2` echo $num3 num1=$num2 num2=$num3 count=`expr $count + 1` done read q;; 3) echo Introdusca un numero X: read X echo Introdusca un numero Y: read Y Z=$X while [ 2 -le $Y ] do let X*=$Z let Y=$Y-1 done echo X a la Y es igual a: $X read q;; 4) esac done

CONVERTIR HH:MM:SS

SEGUNDO

EN

FORMATO

#!/bin/bash clear echo Introduzca la cantidad de segundos: read p function hms { $1 s=$1 let h=s/3600 let s=s-h*3600 let m=s/60 let s=s-m*60 echo HH: $h MM: $m SS: $s } hms $p