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 />
---------------------------