05.04.2016 Views

bash

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

#!/bin/<strong>bash</strong><br />

#primer programa<br />

Echo Hola mundo<br />

Guardamos con extensión .SH<br />

- primer-programa.sh<br />

Nos vamos al terminal y ejecutamos<br />

<strong>bash</strong> primer-programa.sh<br />

------------------------------------------------------------<br />

#!/bin/<strong>bash</strong><br />

#Movimiento de fichero de una ruta a otra<br />

Mv<br />

/home/asir/ASO/TEMA1/ejercicios/tema1 /home/asir/SRI/TEMA1/DHCP/ejercicios<br />

Echo Contenido de la carpeta ASO/TEMA1/ejercicios/<br />

Ls /home/asir/ASO/TEMA1/ejercicios/tema1<br />

Echo Contenido de la carpeta destino /SRI/TEMA1/DHCP/ejercicios<br />

Ls /home/asir/SRI/TEMA1/DHCP/ejercicios<br />

Guardamos como movimiento-fichero.sh<br />

Ejecutamos.<br />

------------------------------------------------------------<br />

#!bin/<strong>bash</strong><br />

#Muestra nombre y apellidos por parámetros<br />

Echo Hola $1, tienes $2 años<br />

Guardamos como parámetros.sh<br />

Desde terminal ejecutamos<br />

Bash parámetros.sh Jhon 35<br />

-------------------------------------------------------------<br />

Fichero que solicita nombre y edad por pantalla<br />

#!bin/<strong>bash</strong><br />

#Muestra nombre y apellidos por parámetros<br />

Echo “Introduzca su nombre”<br />

Read nombre<br />

Echo “introduzca su edad”<br />

Read edad<br />

Echo “Hola eres” $nombre “ y tienes” $edad “años”<br />

Guardamos como introduce-parametros.sh<br />

Desde terminal ejecutamos


Bash inbtroduce-parámetros.sh Jhon 35<br />

Aquí el introduzca su nombre hace un salto de línea para introducir el nombre, si<br />

queremos que se haga en la misma línea ponemos -n<br />

Echo –n: Nos deja poner el nombre y la edad en la misma linea<br />

-------------------------------------------------------------<br />

#!bin/<strong>bash</strong><br />

#Muestra nombre y apellidos por parámetros<br />

Echo -n “Introduzca su nombre: ”<br />

Read nombre<br />

Echo -n “introduzca su edad: ”<br />

Read edad<br />

Echo “Hola eres” $nombre “ y tienes” $edad “años”<br />

READ –P: nos muestra todo con una sola línea de comando eliminamos el echo<br />

-------------------------------------------------------------<br />

#!bin/<strong>bash</strong><br />

#Muestra nombre y apellidos por variable<br />

read –p “Introduzca su nombre: “ nombre<br />

read -p “introduzca su edad: ” edad<br />

Echo “Hola eres” $nombre “ y tienes” $edad “años”<br />

Introducimos nombre y año de nacimiento, que muestre el nombre y la edad.<br />

-------------------------------------------------------------<br />

#!bin/<strong>bash</strong><br />

#Muestra nombre y apellidos por parámetros<br />

Actual=2011<br />

Echo Te llamas $1 y tienes $(expr $actual - $2) años.<br />

Ejecutamos parametros1.sh jhon 1976<br />

-------------------------------------------------------------<br />

#!bin/<strong>bash</strong><br />

#Pasando por parámetro, especificamos fichero y donde moverlo<br />

Echo Movemos el fichero $1 a la carpeta $2<br />

Mv $1 $2<br />

Echo nos muestra el contenido del fichero<br />

Ls $2<br />

---------------------------------------------------------------


#!/bind/<strong>bash</strong><br />

#programa que compara el nombre y nos da mensaje si somo o no<br />

Name=jhon<br />

Echo –n “introduce tu nombre: “<br />

Read nombre<br />

If [ $nombre = $name ]; then<br />

Echo “Hola, eres” $nombre<br />

Else<br />

Echo “Hola, Tu no eres” $name<br />

fi<br />

guardamos como parámetros.sh<br />

Ejecutamos <strong>bash</strong> parámetros.sh<br />

----------------------------------------------------------------<br />

Creamos script con parámetros<br />

#!/bind/<strong>bash</strong><br />

#programa que compara el nombre y nos da mensaje si somo o no<br />

Name=jhon<br />

If [ $1 = $name ]; then<br />

Echo “Hola, eres” $1 buenos dias<br />

Else<br />

Echo “Hola, Tu no eres” $name<br />

fi<br />

guardamos como parámetros1.sh<br />

Ejecutamos <strong>bash</strong> parámetros1.sh jhon<br />

-----------------------------------------------------------------<br />

#!/bind/<strong>bash</strong><br />

#programa que compara el año de nacimiento<br />

Anho=1976<br />

Read –p “introduce tu naño de nacimiento: “ anio<br />

If [ $anio -eq $anho ]; then<br />

Echo “Hola, naciste ” $anho<br />

Else<br />

Echo “Hola, Tu no naciste ” $anho<br />

fi<br />

Guardamos como parámetros2.sh<br />

Ejecutamos <strong>bash</strong> parámetros2.sh


----------------------------------------------------------<br />

#!/bind/<strong>bash</strong><br />

#pasados 2 valores por parametro, indique cual de lo dos es mayor o si son<br />

iguales<br />

read -p "introduce un valor: " num1<br />

read -p "Introduce valor a comparar: " num2<br />

if [ $num1 -lt $num2 ]; then<br />

echo $num2 " Es mayor que " $num1<br />

elif [ $num1 -eq $num2 ]; then<br />

echo $num1 " Es igual a " $num2<br />

else<br />

echo $num2 " Es menor que " $num1<br />

fi<br />

--------------------------------------------------------<br />

#!/bind/<strong>bash</strong><br />

#Mirar si el directorio pasado por parametro ya existe si es si, que muestre un<br />

mensaje. Si es no lo debe crear y decir que lo ha creado<br />

read -p "introduce un directorio: " dir1<br />

if [ -a $dir1 ]; then<br />

echo " El directorio existe "<br />

ls<br />

else<br />

echo "El directorio no existe"<br />

mkdir $dir1<br />

echo "Se ha creado el directorio " $dir1<br />

ls<br />

fi<br />

-----------------------------------------------------<br />

#!/bind/<strong>bash</strong><br />

#Nos pide la edad y nos dice si es mayor de edad o menor<br />

read -p "introduce tu edad: " edad<br />

if [ $edad -lt 18 ]; then<br />

echo " Eres menor de edad "<br />

elif [ $edad -gt 18 ]; then<br />

echo "Eres mayor de edad"


else<br />

echo "Eres mayor de edad"<br />

fi<br />

-----------------------------------------------------------<br />

#!/bind/<strong>bash</strong><br />

#Script que mire si el fichero por parametro, existe. si existe mostrar mensaje con<br />

el nombre del fichero. Si no existe crearlo y decir que lo ha creado con el nombre<br />

quese ha puesto.<br />

if [ -a $1 ]; then<br />

echo "El fichero existe se llama "$1<br />

else<br />

touch $1<br />

echo "Se ha creado el fichero con el nombre "$1<br />

fi<br />

----------------------------------------------------------<br />

#!/bind/<strong>bash</strong><br />

#Script que mire si el fichero pedido, existe. si existe mostrar mensaje con el<br />

nombre del fichero. Si no existe crearlo y decir que lo ha creado con el nombre<br />

quese ha puesto.<br />

read -p "Introduzca ruta del fichero: " f1<br />

if [ -a $f1 ]; then<br />

echo "El fichero existe se llama "$f1<br />

else<br />

touch $f1<br />

echo "Se ha creado el fichero con el nombre "$f1<br />

fi<br />

----------------------------------------------------------<br />

#!/bind/<strong>bash</strong><br />

#Script que reciba un nombre de fichero, verifique que existe y que es un fichero<br />

comun (lectura-escritura) lo convierta en ejecutable para el usuario y el grupo y<br />

muestre el estado final de los permisos.<br />

if [ -f $1 ]; then<br />

echo "El parametro introducido es un fichero"<br />

ls -l $1<br />

if [ -r $1 ];then<br />

echo " Tiene permisos de Lectura"<br />

if [ -w $1 ];then


echo "Tiene permisos de escritura "<br />

chmod ug+x $1<br />

ls -l $1<br />

else<br />

echo "No es un fichero comun"<br />

fi<br />

else<br />

echo "No es un fichero comun"<br />

fi<br />

else<br />

echo "El fichero no existe "<br />

fi<br />

------------------------------------------------------------<br />

#!/bind/<strong>bash</strong><br />

#Script que reciba un nombre de fichero, verifique que existe y que es un fichero<br />

comun (lectura-escritura) lo convierta en ejecutable para el usuario y el grupo y<br />

muestre el estado final de los permisos.<br />

if [ -f $1 ]; then<br />

echo "El parametro introducido es un fichero"<br />

more $1<br />

elif [ -d $1 ]; then<br />

cd $1<br />

ls<br />

else<br />

echo " ERROR!!! no es fichero ni directorio "<br />

fi<br />

------------------------------------------------------------<br />

#/!bin/<strong>bash</strong><br />

#Script que nos muestra un menu para elegir una opcion, y nos da un mensaje<br />

despues de la eleccion.<br />

echo "1. Opcion uno"<br />

echo "2. Opcion dos"


ead -p "introduzca opcion:" op<br />

case $op in<br />

1)<br />

echo "Ha pulsado opcion 1"<br />

;;<br />

2)<br />

echo "Ha pulsado opcion 2"<br />

;;<br />

*)<br />

echo "La opcion es incorrecta"<br />

;;<br />

esac<br />

---------------------------------------------------------<br />

#/!bin/<strong>bash</strong><br />

#Script que nos muestra un menu para elegir la operacion a realizar<br />

echo ""<br />

echo "Realiza una operacion matematica segun las opciones"<br />

echo ""<br />

echo "a.Suma"<br />

echo "b.Resta"<br />

echo "c.Multiplicación"<br />

echo "d.Division entera"<br />

echo "e.Resto"<br />

echo "f.Es un numero par?"<br />

read -p "Seleccione la operacion a realizar y pulse intro: " op<br />

read -p "introduzca operando 1:" num1<br />

if [ $op != f ]; then<br />

read -p "introduzca operando 2:" num2<br />

fi<br />

case $op in<br />

a)<br />

suma=`expr $num1 + $num2`<br />

echo "Ha pulsado opcion a, el resultado de la suma es "$suma<br />

;;<br />

b)<br />

resta=`expr $num1 - $num2`


echo "Ha pulsado opcion b, el resultado de la resta es "$resta<br />

;;<br />

c)<br />

multiplicacion=`expr $num1 \* $num2`<br />

echo "Ha pulsado opcion c, el resultado de la multiplicacion es "$multiplicacion<br />

;;<br />

d)<br />

division=`expr $num1 / $num2`<br />

echo "Ha pulsado opcion d, el resultado de la division es "$division<br />

;;<br />

e)<br />

resto=`expr $num1 % $num2`<br />

echo "Ha pulsado opcion e, el resto es "$resto<br />

;;<br />

f)<br />

res=`expr $num1 % 2`<br />

if [ $res -eq 0 ]; then<br />

echo " el numero introducido es " $num1 " es par"<br />

else<br />

echo " el numero introducido es " $num1 " No es par"<br />

fi<br />

;;<br />

esac<br />

---------------------------------------------------<br />

#/!bin/<strong>bash</strong><br />

#Script que nos diga al pulsar una tecla, si es letra, numero o caracter especial<br />

read -n 1 tecla<br />

case $tecla in<br />

[a-z,A-Z]) echo "ha introducido una letra"<br />

;;<br />

[0-9]) echo "Ha introducido un numero"<br />

;;<br />

*) echo "Ha introducido un caracter especial"<br />

;;


esac<br />

------------------------------------------------------<br />

#!/bin/<strong>bash</strong><br />

#realizar un scrip que reciba varios parametros y nos diga cuantos de esos<br />

parametros son de directorios y cuantos son archivos. $# contador que indica<br />

cuantos parametros se pasan.<br />

cont=0<br />

contf=0<br />

for var in $*; do<br />

if [ -d $var ]; then<br />

cont=`expr $cont + 1`<br />

elif [ -f $var ]; then<br />

contf=`expr $contf + 1`<br />

else<br />

echo "$var no es fichero ni directorio"<br />

fi<br />

done<br />

echo "Ha introducido $cont directorios y $contf ficheros."<br />

echo "Se han introducido $# parametros"<br />

----------------------<br />

# Mostramos menu, con productos para vender, luego nos pide que introduzcamos<br />

la opcion. luego mensaje que indica que introduzca moneda. Si ponemos precio<br />

exacto nos da mensaje, "Gracias buen provecho", si ponemos menos, nos diga<br />

falta.<br />

Si poner mas valor, nos indique el cambio con mensaje.<br />

echo """"<br />

echo "Bienvenido a la tienda On-line - CEPAL"<br />

echo ""<br />

echo "1. Refresco 1 euro"<br />

echo "2. Sandiwch 3 euros"<br />

echo "3. Tabaco 5 euros"<br />

echo ""<br />

read -p "Introduzca opcion:" op<br />

read -p " Introduzca importe: " mon<br />

case $op in<br />

1)<br />

precio=1<br />

;;<br />

2)<br />

precio=3<br />

;;<br />

3)


precio=5<br />

;;<br />

*)<br />

echo "Opcion incorrecta"<br />

esac<br />

while [ $mon -lt $precio ]; do<br />

falta=`expr $precio - $mon`<br />

read -p " Introduzca $falta euros, por favor introduzcalos" mas<br />

mon=`expr $mon + $mas`<br />

done<br />

if [ $mon -gt $precio ]; then<br />

cambio=`expr $mon - $precio`<br />

echo "Gracias por su compra, su cambio es de $cambio euros"<br />

else<br />

echo "Gracias por su compra. Buen provecho"<br />

fi<br />

---------------<br />

#!/bin/<strong>bash</strong><br />

#Realizar un script que pida introducir la ruta de un directorio por teclado (Hay que<br />

validar que la variable introducida sea un directorio) nos diga cuantos archivos y<br />

cuantos directorios hay dentro de ese directorio.<br />

read -p "Introduzca la ruta de un directorio :" dir<br />

until [ -d $dir ]; do<br />

read -p "Introduzca la ruta de un directorio :" dir<br />

done<br />

cont=0<br />

contf=0<br />

for var in `ls $dir`; do<br />

if [ -d $var ]; then<br />

cont=`expr $cont + 1`<br />

elif [ -f $var ]; then<br />

contf=`expr $contf + 1`<br />

fi<br />

done<br />

echo "Ha introducido $cont directorios y $contf ficheros."<br />

echo "Se han introducido $# parametros"<br />

-------------------------------------<br />

#/!bin/<strong>bash</strong><br />

#Realiza un script que introduzca numero por parametro y muestre tabla de<br />

multiplicar


echo " la tabla de multiplicar de $1 es: "<br />

numerador=1<br />

while [ $numerador -lt 11 ]; do<br />

resul=`expr $1 \* $numerador`<br />

echo "$1 x $numerador = $resul"<br />

numerador=`expr $numerador + 1`<br />

done<br />

------------------<br />

#!/bind/<strong>bash</strong><br />

#apertura carpeta contenido ASIR<br />

ls /home/asir<br />

------------------------<br />

#/!bin/<strong>bash</strong><br />

#Realiza un script que muestre por pantalla los numeros del 1 al 20<br />

num=1<br />

while [ $num -lt 21 ]; do<br />

echo "$num"<br />

num=`expr $num + 1`<br />

done<br />

---------------------------

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!