Ir al contenido principal

Programación Bash Script desde CERO - PARTE 2

PARTE 2

  1.  Crear un script que:a. Muestre la carpeta dónde estoy situado
    b. Usuarios conectados
    c. Quien soy
    d. Ver el contenido del directorio personal del usuario conectado
    e. Ver la fecha y hora actual.
  2. Realizar un script que nos pregunta la edad por teclado y que nos conteste:
    a. Si menor que 10 “eres muy joven”
    b. Entre 10 y 25 “que mala edad tienes”
    c. Más de 25 “que bien te veo”
  3. Pedir una letra en minúsculas por teclado, y dependiendo de la letra por la que empieza un mes, liste todos los meses que empiezan por esa letra.
  4. Introducir tres números (num1, num2, num3) y realizar: suma de los tres, resta de num1 y num2 , multiplicación de los tres , división de num2 y num3 y resto de ambos números. Después indicar el resultado de cada operación.
    a) Hazlo asignando el valor de cada operación a una variable
    b) Directamente sin asignar el valor a las variables.
    c) Hazlo pasando los valores por línea de comando.
  5. Con “case” un scripts que nos pregunte “¿Quién descubrió América?”, comprobar respuesta correcta y falsa.
  6. Con “case” queremos saber, una vez introducido un tipo de carnet de conducir a que corresponde. Sabiendo:
    a) E:remolques
    b) D: Autobuses
    c) C1-C5 : Camiones
    d) B1-B2: automóviles
    e) A: motocicletas
    f) En caso de introducir uno distinto “Categoría no contemplada”.

Programación Bash Script desde CERO



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


 clear
#Limpia pantalla

a=`pwd`
echo "Estoy en: $a"
#Guarda en la variable a la acción del comando pwd
#Muestra por pantalla el valor del resultado

b=`who`
echo "Esta conectado en estos momentos: $b"
#Guarda en la variable a la acción del comando who
#Muestra por pantalla el valor del resultado

c=`whoami`
echo "Yo soy el usuario: $c"
#Guarda en la variable a la acción del comando whoami
#Muestra por pantalla el valor del resultado

d=`ls /home`
echo "Dentro de mi directorio personal esta: $c"
#Guarda en la variable a la acción del comando la /home
#Muestra por pantalla el valor del resultado

e=`date`
echo "Estamos en la fecha y hora: $e"
#Guarda en la variable a la acción del comando date
#Muestra por pantalla el valor del resultado



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


clear                                #Limpia pantalla
echo "Que edad tienes?:"
read edad
#Sale por pantalla el texto mencionado, y ...
#Lee lo que escribes por pantalla y lo guarda en la  variable

if [ $edad < 10 ]
#Si el contenido de la variable es < que 10
then                                #Entonces
    echo "Eres muy joven"            #Sale por pantalla, ...
elif [ $edad > 25 ]               
#En otro caso, Si el contenido de la variable es > que 25
then                                #Entonces
    echo "Que bien te veo"            #Sale por pantalla, ...
else                                #En otro caso
    echo "Que mala edad tienes"        #Sale por pantalla, ...
fi                                    #Fin



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


clear                    #Limpia pantalla
echo "Dime una letra en minuscula o mayusculas:"
read letra
#Sale por pantalla el texto mencionado, y ...
#Lee lo que escribes por pantalla y lo guarda en la  variable

case $letra in
#En el Caso de que se guarde en la variable
    E|e) echo "Mes de Enero";;                #E ó e hace, ...
    F|f) echo "Mes de Febrero";;            #F ó f hace, ...
    M|m) echo "Mes de Marzo y Mayo";;        #M ó m hace, ...
    A|a) echo "Mes de Abril y Agosto";;        #A ó a hace, ...
    J|j) echo "Mes de Junio y Julio";;        #J ó j hace, ...
    S|s) echo "Mes de Septiembre";;            #S ó s hace, ...
    O|o) echo "Mes de Octubre";;            #O ó o hace, ...
    N|n) echo "Mes de Noviembre";;            #N ó n hace, ...
    D|d) echo "Mes de Diciembre";;            #D ó d hace, ...
    *) echo "Esta letra no corresponde a ningun mes";;
    #En otro caso hace, ...
esac                        #Fin



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


clear                                #Limpia pantalla
echo "Introduce el 1er numero:"      
read num1
#Hace una pregunta y la respuesta introducida por teclado
#La guarda en una veriable

echo "Introduce el 2º numero:"
read num2
#Hace una pregunta y la respuesta introducida por teclado
#La guarda en una veriable

echo "Introduce el 3er numero:"
read num3
#Hace una pregunta y la respuesta introducida por teclado
#La guarda en una veriable

suma=`expr $num1 + $num2 + $num3`
#Guarda en variable Operación num1 + num2 + num3
resta=`expr $num1 - $num2`
#Guarda en variable Operación num1 - num2
multi=`expr $num1 \* $num2 \* $num3`
#Guarda en variable Operación num1 x num2 x num3
div=`expr $num2 / $num3`
#Guarda en variable Operación num2 / num3
resto=`expr $num2 % $num3`
#Guarda en variable el resto de la operación Operación num2 / num3

echo "La suma es: $suma"
echo "La resta es: $resta"
echo "La multiplicacion es: $multi"
echo "La division es: $div"
echo "El resto de la division es: $resto"
#Muestra por pantalla losresultados de cada variable



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


clear
echo "Introduce el 1er numero:"
read num1

echo "Introduce el 2º numero:"
read num2

echo "Introduce el 3er numero:"
read num3

echo "La suma es: `expr $num1 + $num2 + $num3`"
echo "La resta es: `expr $num1 - $num2`"
echo "La multiplicacion es: `expr $num1 \* $num2 \* $num3`"
echo "La division es: `expr $num2 / $num3`"
echo "El resto de la division es: `expr $num2 % $num3`"



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


 clear

suma=`expr $1 + $2 + $3`
resta=`expr $1 - $2`
multi=`expr $1 \* $2 \* $3`
div=`expr $2 / $3`
resto=`expr $2 % $3`

echo "La suma es: $suma"
echo "La resta es: $resta"
echo "La multiplicacion es: $multi"
echo "La division es: $div"
echo "El resto de la division es: $resto"



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


 clear
echo "¿Quien descubrio America?"
read resp

case $resp in
    colon | Colon | Colón | COLON) echo "Respuesta correcta";;
    *) echo "Respuesta Incorrecta";;
esac



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


 clear
clear
echo "¿Que tipo de carnet de conducir tienes?"
read carnet

case $carnet in
    E|e) echo "Tienes permiso de REMOLQUES";;
    B|b) echo "Tienes permiso de AUTOBUSES";;
    C1|c1|C5|c5) echo "Tienes permiso de CAMIONES";;
    B1|b1|B2|b2) echo "Tienes permiso de AUTOMOVILES";;
    A|a) echo "Tienes permiso de MOTOCICLETAS";;
    *) echo "Categoria no completata";;
esac


Entradas populares de este blog

Configuración y Uso de Pandora FMS 5.0 SP3

CONFIGURACIÓN DE LA RED Lo primero que se debe de hacer es conocer la red que necesitas monitorizar, las distintas redes que posees y configurar las interfaces del CentOS donde tienes instalado Pandora FMS para que este sistema pueda verlas. Si haces un ping a alguna de estas redes, este debería responderte. Un ejemplo de como configurar distintas redes en CentOS sería el siguiente, donde las X son las que corresponda a tú red: # cd /etc/sysconfig/network-scripts/ # cat ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:75:A5:F2 TYPE=Ethernet BOOTPROTO=static IPADDR=10.x.x.155 BROADCAST=10.x.x.254 GATEWAY=10.x.x.1 NETMASK=255.255.255.0 DNS1=10.x.x.x DOMAIN=dominio.local DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no UUID=920d0ead-e3ad-4c99-8c79-617812986fb4 ONBOOT=yes # cat ifcfg-eth0:0 DEVICE=eth0:0 HWADDR=00:0C:29:75:A5:F2 TYPE=Ethernet BOOTPROTO=static IPADDR=10.x.x.155 BROADCAST=10.x.x.254 GATEWAY=10.x.x.

Mensajería OpenFire: Instalación y Configuración

Exportamos una nueva OVA de DEBIAN. Configuramos su interfaz: # rm /etc/udev/rules.d/70-persistem-net.rules # reboot Preparamos la conexión remota: # apt-get install ssh #ifconfig -a Instalación paso a paso: $ ssh root@192.168.1.198 Necesitaremos en la instalación de  mensajería   OpenFire : Servidor LAMP •           Linux •           Apache •           MySQL •           PHP phpadmin y Java # apt-get install apache2 php5 mysql-server phpmyadmin # apt-get install openjdk-6-jdk Descarga y puesta en funcionamiento de OpenFire: # wget http://download.igniterealtime.org/openfire/openfire_3.9.1_all.deb # dpkg -i openfire_3.9.1_all.deb Para saber que está funcionando: # netstat -putan|grep java Voy al navegador de mi máquina REAL y pongo la IP:8080, en mi caso, 192.168.1.198:9090 No se recomienda que se use la Base de Datos internas

pfsense: Proxy Squid3 instalación y configuración

Nuestra máquina de pfsense con 2 adaptadores , uno en adaptador puente y otra en solo anfitrión: Me conecto desde el interfaz anfitrión al pfsense desde el navegador: Nos movemos a: System / Package/Available Packages/instalamos squid3 Service / Proxy server Configuramos en la pestaña de General las siguientes opciones: LAN Proxy Port: 3128 Allow users on interface(picado) Transparent Proxy(picado) Enabled logging(picado) Log Store Directory: /var/squid/logs Administrator email: email administrador Language: es SAVE Nos aseguramos que squid está corriendo: Status / Service Con esta configuración debemos tener internet en nuestro cliente Windows. RESTRICCIONES Y PERMISOS Podemos configurar las restricciones en la pestaña Service / Proxy server / (pestaña)ACLs Por ejemplo, restringimos el acceso a google.es: En Service / Proxy server / Local Cache o

FireWall de PFsense: NAT

NAT Network address transletion - Traducciones de direcciones de red Se diferencia de la tabla filter, que con estas reglas se redirecciona. Si queremos que nuestro servidor web de servicio al exterior, tiene una dirección interna, pero si sale con esta IP, al salir se corta la IP. Que el router coja esta IP interna de este servidor Web y la cambie por la IP publica del route se llama NAT. Esto que hace el router automáticamente es lo que vamos a hacer ahora. SNAT: source NAT(origen) DNAT: destination NAT(destino) SNAT, cambiamos el origen. Windows manda el paquete y llega a pfsense, y este cambia el origen PAQUETE: origen: wXP (192.168.56.2) ↔ WAN (80.21.21.21) destino: google.es DNAT, cambiamos el destino Queremos dar servicio web, pero mi servidor esta en una red privada, en la 10.0.0.2. Al dar la IP de mi WAN, debo hacer que llegue a mi servidor. Cada vez que llegue un paquete a la Wan al puerto, en este caso, 80, l

FireWall de PFsense: Reglas de Filtro 1/3

FILTER RULES (Reglas de Filtro) Para instalar el PFsense te recuerdo el enlace donde se explica en mi blog: http://mjesussuarez.blogspot.com.es/2013/12/instalacion-y-uso-de-pfsense.html A partir de este punto, entramos en PFsense a partir de la IP LAN: 192.168.56.2 Las 2 opciones mas interesantes de ver sobre cortafuegos en PFsense es NAT y Rules . Aunque usaremos también los Aliases . Dentro de interfaces tenemos LAN y WAN, pero también podemos asignar interfaces, como por ejemplo una zona demilitarizada(DMZ) para alojar en esta rama un Servidor Web . Para crear una interfaz nueva debemos ir a Interfaces / assign / VLANs . Pero que es una VLAN . Significa que físicamente están todas las redes unidas, pero Virtualmente se han formado LANs independientes y que no se ven unas a otras, o si se ven, pero están separadas virtualmente como si estuvieran separadas de forma física. Pero este tema lo trataremos mas adelante, ahora haremos