Asir II: Scripts BASH ejercicios
Compartir
0
Más
Página Página 1 de 17 17
Siguiente blog»
Crear un blog Ac A cceder
Asir II
Scripts BASH ejercicios Ejercicios de Scripts
Páginas ADMINISTRACION DE SISTEMAS INFORMATICOS EN RED SERVICIOS DE RED E INTERNET
A tener en cuenta:
EMPRESA E INICIATIVA EMPRENDEDORA
LESS (nombre fichero): Nos muestra el contenido de un fichero en su totalidad
SISTEMA GESTOR DE BASES DE DATOS
MORE (nombre fichero): Nos muestra el contenido del fichero paginándolo
SEGURIDAD Y ALTA DISPONIBILIDAD
Para salir de estos comandos WQ Less (fichero) | head –n 5 nos muestra las primeras 5 lineas Less (fichero)| tail –n 5 nos muestra las ultimas 5 lineas Less (fichero) |grep (palabra) muestra las líneas donde se encuentra esta palabra
ADMINISTRACION SISTEMAS SISTEMAS OPERATIVOS SAD: Actividades WHATSAPP PARA PC Discurso de Steve Jobs, ceremonia de graduacion Stanford 2005 Scripts BASH ejercicios
Para utilizar número utilizamos: -eq
=
-me -lt
¡= <
-gt
>
-le
<=
-ge
>=
Fechas de exámenes Creación BBDD con PHP. (alta, baja, modificación tablas). IAW - EJER EJERCICI CICIOS OS PHP
Archivo del blog ►
2012 (1)
►
2011 (3)
Para utilizar ficheros: -a
Si existe
-d
Existe es un directorio
-f
Existe es un fichero
Google Friend Connect
-r
Es de lectura
Miembros (2)
-w
Es de escritura
-x
Es ejecutable
Sigueme Participar en este sitio
¿Ya eres miembro?Inicia miembro? Iniciarr sesió sesión n
Para dar permiso de ejecución utilizamos el comando CHMOD Ejemplo Chmod u +x expresión-logica.sh U= permiso a usuario += agregar X= ejecutable
http://asir2.blogspot.com.es/p/scripts-bash-ejercicios.html
31/01/2013
Asir II: Scripts BASH ejercicios
Página 2 de 17
Así podemos ejecutar el fichero sin utilizar el bash inicial.
CASE se suele utilizar para menus cuando hay varias opciones. Sintaxis: Case $variable in alor1) Se ejecuta si variable tiene valor 1 ;; alor2) Se ejecuta si variable tiene valor 2 ;; )Se ejecuta su variable no tiene ninguno de los valores anteriores ESAC
Expresiones lógicas If [Expresion]; Then Realiza expresión si es verdadera FI Cierra la estructura If [Expresion]; Then Realiza expresión si es verdadera Else Realiza expresión si es falsa FI n utilizamos para variables si no es nula z Utilizamos para variables nulo, vacia o no definida Cuando hay más de dos opciones utilizamos ELIF If [Expresion]; Then Realiza expresión si es verdadera elif [Expresion]; Then Realiza expresión si es verdadera elif [Expresion]; Then Realiza expresión si es verdadera Else Realiza expresión si es falsa FI
-----------------------------------------------------!/bin/bash primer programa Echo Hola mundo Guardamos con extensión .SH
- primer-programa.sh
Nos vamos al terminal y ejecutamos bash primer-programa.sh ----------------------------------------------------------!/bin/bash Movimiento de fichero de una ruta a otra Mv /home/asir/ASO/TEMA1/ejercicios/tema1 /home/asir/SRI/TEMA1/DHCP/ejercicios Echo Contenido de la carpeta ASO/TEMA1/ejercicios/ Ls /home/asir/ASO/TEMA1/ejercicios/tema1 Echo Contenido de la carpeta d estino /SRI/TEMA1/DHCP/ejercicios Ls /home/asir/SRI/TEMA1/DHCP/ejercicios
Guardamos como movimiento-fichero.sh Ejecutamos. ----------------------------------------------------------!bin/bash Muestra nombre y apellidos por parámetros Echo Hola $1, tienes $2 años
http://asir2.blogspot.com.es/p/scripts-bash-ejercicios.html
31/01/2013
Asir II: Scripts BASH ejercicios
Página 3 de 17
Guardamos como parámetros.sh Desde terminal ejecutamos Bash parámetros.sh Jhon 35 -----------------------------------------------------------Fichero que solicita nombre y edad por pantalla !bin/bash Muestra nombre y apellidos por parámetros Echo “Introduzca su nombre” Read nombre Echo “introduzca su edad” Read edad Echo “Hola eres” $nombre “ y tienes” $edad “años” Guardamos como introduce-parametros.sh Desde terminal ejecutamos Bash inbtroduce-parámetros.sh Jhon 35 Aquí el introduzca su nombre hace un salto de línea para introducir el nombre, si queremos que se haga en la misma línea ponemos -n Echo –n: Nos deja poner el nombre y la edad en la misma linea
-----------------------------------------------------------!bin/bash Muestra nombre y apellidos por parámetros Echo -n “Introduzca su nombre: ” Read nombre Echo -n “introduzca su edad: ” Read edad Echo “Hola eres” $nombre “ y tienes” $edad “años” READ –P: nos muestra todo con una sola línea de comando eliminamos el echo -----------------------------------------------------------!bin/bash Muestra nombre y apellidos por variable
read –p “Introduzca su nombre: “ nombre read -p “introduzca su edad: ” edad Echo “Hola eres” $nombre “ y tienes” $edad “años” Introducimos nombre y año de nacimiento, que muestre el nombre y la edad. -----------------------------------------------------------!bin/bash Muestra nombre y apellidos por parámetros ctual=2011 Echo Te llamas $1 y tienes $(expr $actual - $2) años. Ejecutamos parametros1.sh jhon 1976 -----------------------------------------------------------!bin/bash Pasando por parámetro, especificamos fichero y donde moverlo Echo Movemos el fichero $1 a la carpeta $2 Mv $1 $2 Echo nos muestra el contenido del fichero Ls $2 -------------------------------------------------------------!/bind/bash programa que compara el nombre y nos da mensaje si somo o no Name=jhon Echo –n “introduce tu nombre: “ Read nombre If [ $nombre = $name ]; then Echo “Hola, eres” $nombre Else Echo “Hola, Tu no eres” $name i
http://asir2.blogspot.com.es/p/scripts-bash-ejercicios.html
31/01/2013
Asir II: Scripts BASH ejercicios
Página 4 de 17
guardamos como parámetros.sh Ejecutamos bash parámetros.sh --------------------------------------------------------------Creamos script con parámetros !/bind/bash programa que compara el nombre y nos da mensaje si somo o no Name=jhon If [ $1 = $name ]; then Echo “Hola, eres” $1 buenos dias Else Echo “Hola, Tu no eres” $name i guardamos como parámetros1.sh Ejecutamos bash parámetros1.sh jhon ---------------------------------------------------------------!/bind/bash programa que compara el año de nacimiento nho=1976 Read –p “introduce tu naño de nacimiento: “ anio If [ $anio -eq $anho ]; then Echo “Hola, naciste ” $anho Else Echo “Hola, Tu no naciste ” $anho i Guardamos como parámetros2.sh Ejecutamos bash parámetros2.sh --------------------------------------------------------!/bind/bash pasados 2 valores por parametro, indique cual de lo dos es mayor o si son iguales read -p "introduce un valor: " num1 read -p "Introduce valor a comparar: " num2 if [ $num1 -lt $num2 ]; then echo $num2 " Es mayor que " $num1 elif [ $num1 -eq $num2 ]; then echo $num1 " Es igual a " $num2 else echo $num2 " Es menor que " $num1 i ------------------------------------------------------!/bind/bash Mirar si el directorio pasado por parametro ya existe si es si, que muestre un mensaje. Si es no lo debe crear y decir que lo ha creado read -p "introduce un directorio: " dir1 if [ -a $dir1 ]; then echo " El directorio existe " ls else echo "El directorio no existe" mkdir $dir1 echo "Se ha creado el directorio " $dir1 ls i ---------------------------------------------------!/bind/bash Nos pide la edad y nos dice si es mayor de edad o menor read -p "introduce tu edad: " edad if [ $edad -lt 18 ]; then echo " Eres menor de edad "
http://asir2.blogspot.com.es/p/scripts-bash-ejercicios.html
31/01/2013
Asir II: Scripts BASH ejercicios
Página 5 de 17
elif [ $edad -gt 18 ]; then echo "Eres mayor de edad" else echo "Eres mayor de edad" i ---------------------------------------------------------!/bind/bash Script que mire si el fichero por parametro, existe. si existe mostrar mensaje con el nombre del ichero. Si no existe crearlo y decir que lo ha creado con el nombre quese ha puesto. if [ -a $1 ]; then echo "El fichero existe se llama "$1 else ouch $1 echo "Se ha creado el fichero con el nombre "$1 i --------------------------------------------------------!/bind/bash Script que mire si el fichero pedido, existe. si existe mostrar mensaje con el nombre del fichero. Si no existe crearlo y decir que lo ha creado con el nombre quese ha puesto. read -p "Introduzca ruta del fichero: " f1 if [ -a $f1 ]; then echo "El fichero existe se llama "$f1 else ouch $f1 echo "Se ha creado el fichero con el nombre "$f1 i --------------------------------------------------------!/bind/bash Script que reciba un nombre de fichero, verifique que existe y que es un fichero comun (lecturaescritura) lo convierta en ejecutable para el usuario y el grupo y muestre el estado final de los permisos.
if [ -f $1 ]; then echo "El parametro introducido es un fichero" ls -l $1 if [ -r $1 ];then echo " Tiene permisos de Lectura" if [ -w $1 ];then echo "Tiene permisos de escritura " chmod ug+x $1 ls -l $1 else echo "No es un fichero comun" fi else echo "No es un fichero comun" fi else echo "El fichero no existe " i ----------------------------------------------------------!/bind/bash Script que reciba un nombre de fichero, verifique que existe y que es un fichero comun (lecturaescritura) lo convierta en ejecutable para el usuario y el grupo y muestre el estado final de los permisos. if [ -f $1 ]; then echo "El parametro introducido es un fichero" more $1 elif [ -d $1 ]; then cd $1 ls
http://asir2.blogspot.com.es/p/scripts-bash-ejercicios.html
31/01/2013
Asir II: Scripts BASH ejercicios
Página 6 de 17
else echo " ERROR!!! no es fichero ni directorio " i ---------------------------------------------------------- /!bin/bash
Script que nos muestra un menu para elegir una opcion, y nos da un mensaje despues de la eleccion.
echo "1. Opcion uno" echo "2. Opcion dos"
read -p "introduzca opcion:" op
ase $op in 1) echo "Ha pulsado opcion 1" ;; ) echo "Ha pulsado opcion 2" ;; ) echo "La opcion es incorrecta" ;; esac ------------------------------------------------------- /!bin/bash
Script que nos muestra un menu para elegir la operacion a realizar
echo "" echo "Realiza una operacion matematica segun las opciones" echo "" echo "a.Suma" echo "b.Resta" echo "c.Multiplicación" echo "d.Division entera" echo "e.Resto" echo "f.Es un numero par?"
read -p "Seleccione la operacion a realizar y pulse intro: " op read -p "introduzca operando 1:" num1 if [ $op != f ]; then read -p "introduzca operando 2:" num2 i
ase $op in a) uma=`expr $num1 + $num2` echo "Ha pulsado opcion a, el resultado de la suma es "$suma ;;
b) resta=`expr $num1 - $num2` echo "Ha pulsado opcion b, el resultado de la resta es "$resta ;;
c) multiplicacion=`expr $num1 \* $num2` echo "Ha pulsado opcion c, el resultado de la multiplicacion es "$multiplicacion ;;
d) division=`expr $num1 / $num2` echo "Ha pulsado opcion d, el resultado de la division es "$division ;;
http://asir2.blogspot.com.es/p/scripts-bash-ejercicios.html
31/01/2013
Asir II: Scripts BASH ejercicios
Página 7 de 17
e) resto=`expr $num1 % $num2` echo "Ha pulsado opcion e, el resto es "$resto ;;
) res=`expr $num1 % 2` if [ $res -eq 0 ]; then echo " el numero introducido es " $num1 " es par" else echo " el numero introducido es " $num1 " No es par" i ;; esac ------------------------------------------------- /!bin/bash
Script que nos diga al pulsar una tecla, si es letra, numero o caracter especial
read -n 1 tecla case $tecla in [a-z,A-Z]) echo "ha introducido una letra" ;; [0-9]) echo "Ha introducido un numero" ;; ) echo "Ha introducido un caracter especial" ;; esac ----------------------------------------------------!/bin/bash
realizar un scrip que reciba varios parametros y nos diga cuantos de esos parametros son de directorios y cuantos son archivos. $# contador que indica cuantos parametros se pasan. cont=0 contf=0 or var in $*; do if [ -d $var ]; then cont=`expr $cont + 1` elif [ -f $var ]; then contf=`expr $contf + 1` else echo "$var no es fichero ni directorio" fi done echo "Ha introducido $cont directorios y $contf ficheros." echo "Se han introducido $# parametros" --------------------Mostramos menu, con productos para vender, luego nos pide que introduzcamos la opcion. luego mensaje que indica que introduzca moneda. Si ponemos precio exacto nos da mensaje, "Gracias buen provecho", si ponemos menos, nos diga falta. Si poner mas valor, nos indique el cambio con mensaje. echo """" echo "Bienvenido a la tienda On-line - CEPAL" echo "" echo "1. Refresco 1 euro" echo "2. Sandiwch 3 euros" echo "3. Tabaco 5 euros" echo "" read -p "Introduzca opcion:" op read -p " Introduzca importe: " mon case $op in 1) precio=1 ;; ) precio=3 ;; )
http://asir2.blogspot.com.es/p/scripts-bash-ejercicios.html
31/01/2013
Asir II: Scripts BASH ejercicios
Página 8 de 17
precio=5 ;; ) echo "Opcion incorrecta" esac hile [ $mon -lt $precio ]; do alta=`expr $precio - $mon` read -p " Introduzca $falta euros, por favor introduzcalos" mas mon=`expr $mon + $mas` done if [ $mon -gt $precio ]; then cambio=`expr $mon - $precio` echo "Gracias por su compra, su cambio es de $cambio euros" else echo "Gracias por su compra. Buen provecho" i -------------!/bin/bash
Realizar un script que pida introducir la ruta de un directorio por teclado (Hay que validar que la ariable introducida sea un directorio) nos diga cuantos archivos y cuantos directorios hay dentro de ese directorio.
read -p "Introduzca la ruta de un directorio :" dir until [ -d $dir ]; do read -p "Introduzca la ruta de un directorio :" dir one ont=0 ontf=0 for var in `ls $dir`; do if [ -d $var ]; then cont=`expr $cont + 1` elif [ -f $var ]; then contf=`expr $contf + 1` fi done cho "Ha introducido $cont directorios y $contf ficheros." cho "Se han introducido $# parametros" ------------------------------------
/!bin/bash
Realiza un script que introduzca numero por parametro y muestre tabla de multiplicar echo " la tabla de multiplicar de $1 es: " numerador=1 hile [ $numerador -lt 11 ]; do resul=`expr $1 \* $numerador` echo "$1 x $numerador = $resul" numerador=`expr $numerador + 1` done -----------------
!/bind/bash
apertura carpeta contenido ASIR ls /home/asir !--[if !supportLineBreakNewLine]--> !--[endif]--> ----------------------- /!bin/bash
Realiza un script que muestre por pantalla los numeros del 1 al 20 num=1 hile [ $num -lt 21 ]; do cho "$num" num=`expr $num + 1` one --------------------------
http://asir2.blogspot.com.es/p/scripts-bash-ejercicios.html
31/01/2013