lunes, 8 de julio de 2013

EJEMPLOS_2

#! /bin/bash
#este permite que ingreses un numero y arroje algo si es mayo o menor 
while :
do
echo "Ingrese Numero"
read let
if [ $let -ge 100 ] 
   then  
   echo "Bienvenido correcto" 
   else
   echo "reprovado"
fi 

 done

 ********************************************************************
*********************************************************************

 #! /bin/bash
clear
 #ESTE SCRIPT IMPRIME NUMEROS DEL 1 AL 10 HACIA ABAJO
echo "  #   Proceso #"
cont=0
while [ $cont -le 10 ]
do
sleep 2  
let cont=cont+1
echo "$cont"
done


clear

*******************************************************************
*******************************************************************


Mas Ejemplos De Script
separados por :
*******************************************************************
*******************************************************************

#! /bin/bash
clear
echo;echo


clear
echo "Ingrese Nombre"
read Nombre


sleep 2
echo;echo
echo "Bienvenido Estimado (a) $Nombre"
echo "Loading...."
sleep 5
while :
do
echo "***Menu con wile/case***"
echo ""
echo "1)mostrar usuario"
echo "2)mostrar procesadores"
echo "3)memoria fisica"
echo "4)password"
echo "99)Salir del Sistema "
echo ""
echo -n " inserta opcion: "
echo ""
read opc

case $opc in

1|a|A) who
sleep 2
clear
;;

2|b|B) cat /proc/cpuinfo | grep -i processor
sleep 2
clear
;;

3|b|B) cat /proc/cpuinfo |grep sizes | cut -d":" -f2 | cut -d ";" -f1
sleep 2
clear
;;

4|d|D) echo "ingrese password"
read pass

echo "$pass" > passw
clear
if [ -z $pass ]
then
echo "su password esta en blanco"
sleep 2
elif [ $(wc -c passw | cut -d " " -f1) -ge "7" ] 2>/dev/null
then
echo "su password es segura"
sleep 2
else
echo "su password es Muy Insegura"
sleep 2
fi
clear

;;
99) echo "wena pato"
echo "saliendo del script"
sleep 5
exit
;;


*) echo ""
   echo "Estimado (a) $Nombre A Ingresado opcion invalida"
   echo ""
sleep 2
clear
;;

esac
done



*******************************************************************
*******************************************************************


#! /bin/bash

#existe archivo con la siguente info llamado : icqserver.txt
#con la siguiente informacion:
#chat.icq.com
#c.icq.com
#company.icq.com
#download.icq.com
#ftp.icq.com
#people.icq.com
#www.icq.com

for ip in $(cat /home/patricio/PAD_2013/icqserver.txt)
do
host $ip |grep -i "has address"
done

#muestra lo siguiente :

#wwwvip.evip.icq.com has address 178.237.23.237
#c1.orange.icq.com has address 178.237.25.84
#icqredirect.egslb.aol.com has address 205.188.95.190
#wwwvip.evip.icq.com has address 178.237.23.237
#storage.orange.icq.com has address 178.237.26.102
#storage.orange.icq.com has address 178.237.25.52
#wwwvip.evip.icq.com has address 178.237.23.237
#wwwvip.evip.icq.com has address 178.237.23.237



*******************************************************************
*******************************************************************

#! /bin/bash
# signos: ! &*()_!@#$%^&*(!@#$%^&*()_+"|{}?"|}{"_)(*&^%$#@!
#muestra los Planetas hacia abajo:
#Mercurio
#Venus
#Tierra
#Martes
#Jupiter
#Saturno
#Urano
#Nepturno
#Pluton
#saliendo del ciclo
for planet in Mercurio Venus Tierra Martes Jupiter Saturno Urano Nepturno Pluton
do
echo $planet
sleep 1
done
echo "saliendo del ciclo "


*******************************************************************
*******************************************************************

#! /bin/bash

#imprime los numeros hacia abajo del 1 al 100
#ejemplo:
#1
#2
#3
#4
#5
#6
#7
#8
#9
#10
#11
#12
#13
#14
#15
#16
#17
#18
#19
#20..............................
for num in $(seq 1 100)
do
echo $num
sleep 1
done



*******************************************************************
*******************************************************************
#agenda Telefonica


#! /bin/bash
#agenda_Telefonica
#
#
cont=1

while [ $cont -le 1 ]
do
clear

echo "********** agenda telefonica****************"
echo ""
echo "1............. Crear Contacto "
echo "2............. Buscar Contacto "
echo "3............. Borrar contacto "
echo "4............. salir   "
echo "   elija la opcion que decea ejecutar"
echo ""

read opcion
     case $opcion in

 1)kont=1
                                                      while [ $kont -le 1 ]
                                                        do
                                                    
                                                        echo " ingrese el nombre del contacto a crear"
                                                        read crear
                                                        echo "ingrese el numero del contacto"
                                                        read numero
                                                        echo "$crear $numero "
                                                        echo "$crear $numero" >> /home/patricio/agenda.txt
echo ""
                                                        echo "ingrese 1 si quere crear otro contacto y 2 para volver al menu principal"
                                                        read kont
                                                        done
       ;;
                                                   2)  kar=1
                                                        while [ $kar -le 1 ]
                                                        do
                                                        echo " ingrese el nombre del contacto que decea buscar"
                                                        read contacto
                                                        cat /home/patricio/agenda.txt | grep $contacto
echo ""
                                                        echo "ingrese 1 si quere buscar otro contacto y 2 para volver al menu principal"
                                                        read kar
                                                        done
;;

  3)  kep=1                                                      
                                                        while [ $kep -le 1 ]
                                                        do
                                                        echo "ingrese el nombre del contacto a borrar"
                                                        read borrar
                                                        sed -i /$borrar/home/patricio/agenda.txt

                                                        echo ""
                                                         echo "ingrese 1 si quere borrar otro contacto y 2 para volver al menu principal"
                                                        read kep
                                                        done
;;
                                                      
                                                    4)  echo "Saliendo de su Agenda"
  exit
;;
esac
done


*******************************************************************
*******************************************************************

#! /bin/bash
#Busk Archivos con find
#interfaces ifconfig
#procesos ps -aux

clear
cont=1
while [ $cont -le 1 ]
 do
 echo "#########MENU##########"
 echo "Buscar archivos.......1"
 echo "Mostrar interfaces....2"
 echo "Ver servicios.........3"
 echo -n "Elija una opcion: "
 read opcion
 case $opcion in
        1)echo -n "Ingrese nombre: "
          read archivo
          echo -n "Ingrese ruta: "
          read ruta
          find $ruta -name $archivo
           echo  "Precione enter porfavor"
          read;;
                2)echo "Estas son las interfaces del sistema"
                  ifconfig
                  echo  "Precione enter porfavor"
                  read;;
                

                        3)echo "Estos son los procesos del sistema"
                         ps -aux
                          echo  "Precione enter porfavor"
                              read;;
                        
                      
                esac
                        echo "Seleccionar la opcion"
                        echo -n "Continuar=(1) Salir=(2): "
                        read cont
                        clear
                        done                        



********************************************************************
********************************************************************


#! /bin/bash
clear
#validar si un usuario esta conectado al sistema, Validando si existe #en el sistema
#usa while y case

echo;echo

cont=1
while [ $cont -le 1 ]
do
echo "***************Menu_Usuarios*************"

echo  "1)Usuario Conectados"
echo  "2)Validar si Usuario Existe en el Sistema"
echo "3)Salir"
echo ""
echo "elija la opcion que decea ejecutar"
echo ""
read opc

case $opc in
        



              1)
                 kar=1
                 while [ $kar -le 1 ]
                 do
                 sleep 2
                 who | cut -d " " -f1
 echo "Ingrese 1 Si desea volver a consultar y Ingrerse 2 para volver al menu principal"
                  read kar
                  clear
                  done
;;

                2)
                 pat=1
                 while [ $pat -le 1 ]
                 do
                 sleep 2


            
        clear
        echo;echo
        echo -n "Ingrese USUARIO: "
        read user

        if cat /etc/passwd | grep -i $user >/dev/null
        then
                 echo "El usuario - $user - ya existe en el sistema ..."
                 echo;echo
                 sleep 1

       else
echo;echo
echo "El usuario - $user - no existe en el sistema ......."


fi
 echo "Ingrese 1 Si desea volver a consultar y Ingrerse 2 para volver al menu principal"
                  read pat
                  clear
                  done


;;

                 3) echo "Usted a elegido salir Gracias por preferirnos Vuelva pronto"
                   sleep 5
                   exit



esac
done


********************************************************************
********************************************************************
#ping de Direcciones

#! /bin/bash

for var in $( seq 1 254 )
do
if ping -c1 192.168.0.$var&>/dev/null
       then
       echo "la direccion 192.168.0.$ip esta up"
else

echo "down"
done




*********************************************************************
*********************************************************************
Aqui Script para conoser sistema Linux :



#USUARIOS_CONECTADO

#! /bin/bash
clear
#validar si un usuario esta conectado al sistema, Validando si existe #en el sistema

echo;echo

cont=1
while [ $cont -le 1 ]
do
echo "***************Menu_Usuarios*************"

echo  "1)Usuario Conectados"
echo  "2)Validar Usuario conectado"
echo  "3)Validar si Usuario Existe en el Sistema"
echo "Salir"
echo ""
echo "elija la opcion que decea ejecutar"
echo ""
read opc

case $opc in
        



              1)
                 kar=1
                 while [ $kar -le 1 ]
                 do
                 sleep 2
                 who | cut -d " " -f1
 echo "Ingrese 1 Si desea volver a consultar y Ingrerse 2 para volver al menu principal"
                  read kar
                  clear
                  done
;;

                2)
                 pat=1
                 while [ $pat -le 1 ]
                 do
                 sleep 2


                 #if id | grep uid=0 >/dev/null
                 #then
             clear
             echo;echo
             echo -n "Ingrese USUARIO: "
             read user

             if cat /etc/passwd | grep -i $user >/dev/null
             then
                 echo "El usuario - $user - ya existe en el sistema ..."
                 echo;echo
                 sleep 1

            else
        echo;echo
        echo "El usuario - $user - no existe en el sistema ......."

#fi
fi
 echo "Ingrese 1 Si desea volver a consultar y Ingrerse 2 para volver al menu principal"
                  read pat
                  clear
                  done


;;

                 3) echo "Usted a elegido salir Gracias por preferirnos Vuelva pronto"
                   sleep 5
                   exit



esac
done




*******************************************************************
*******************************************************************



PRUEBA_3/ Ejercicio_tipo_Examen


Guia para el examen.

 1.- Crear un script que me permita generar un PING desde la IP 10.0.0.1 hasta
 la IP 10.0.0.10, y solo muestre las direccion IP que se encuentran UP.

1R// 
#!/bin/bash
for ip in ping $(seq 1 10)
do
    if ping -c1 192.168.1.$ip &>/dev/null
    then
        echo "la diraccion 192.168.1.$ip esta up" >> /home/patricio/direcciones_up.txt
    else
        echo "la diraccion 192.168.1.$ip esta down">> /home/patricio/direcciones_down.txt
    fi
done

******************************************************************
******************************************************************

 2.- En base al archivo adjunto (poblacion.txt) donde la primera columna corresponde al nombre de la persona y la segunda columna corresponde a la edad, genere un script
        que permita mostrar por pantalla la siguiente informacion ...
        "La persona con nombre $nombre en este momento tiene $edad anos de edad"

2R//
 #! /bin/bash



 for sin in $( cat poblacion.txt | cut -d ":" -f1 )
do
sleep 2
var=`cat poblacion.txt | grep $sin  | cut -d ":" -f2`
echo "La persona con nombre $sin en este momento tiene $var anos de edad"
done




 3.- Realizar un script que permita respaldar todo un directorio, el respaldo debe
        generarlo mediante un compresor (gzip, osea *.tar.gz) para comprimir el directorio
 a respaldar. Este script debera copiarse automaticamente al directorio de las tareas
        programadas, para que se ejecute una vez al mes

3 R//
Script :

#! /bin/bash


#Comprime el archivo llamado Respaldo donde DATE muestra d= dia del mes
#b=nombr del mes 
#y =ultimo dos digitos del año. respaldame la carpeta var/log del sistema
#crear el script luego dar las cordenadas de ejecucion con #crontab -e
# el archivo queda donde se encuentra ejecutando el script

tar cvzf respaldo_`date +%d%b%y`.tar.gz /var/log

Link _ Opciones:

http://www.linuxtotal.com.mx/?cont=info_admon_007

# Luego escribimos contrab -e y escribimos lo siguiente:
#13 23 * * * /home/patricio/respaldo.sh
#donde se ejecutara el script llamado Respaldo.sh a las 23:13 todos los dias
# a Respaldo le asigne permiso de ejecucion con chmod .

luego escribir :
crontab -e
21 15 15 * * /home/patricio/respaldo.sh
 # para que se ejecute el archivo  a las 15:21 todos los meses el dia 15 de cada mes

    *       /     *  /       *       /        *   /        * 
minuto/hora /  dia_mes /  Mes    / Dia_Semana
 0-59  / 0-23/    1-31     /  1-12    / 0-6  donde  0=domingo

Mas Ejemplos
URL:

http://cuslanz.org.ve/24-10-2011/programar-tareas-con-cron


%a    Nombre abreviado del día de la semana
%A    Nombre completo del día de la semana
%b    Nombre abreviado del mes
%B    Nombre completo del mes
%c    fecha y hora
%C    Dos primeros dígitos del año, ejemplo 20 de 2007
%d    Día del mes con dos dígitos, ejemplo 01
%D    Igual que indicar %m/%d/%y
%e    Día del mes con uno o dos dígitos, ejemplo 1, 10
%F    Fecha completa, igual que %Y-%m-%d
%h    igual que %b
%H    Hora en formato 24 horas con dos dígitos (00..23)
%I    Hora en formato 12 horas con dos dígitos(01..12)
%j    El día del año (001..366)
%k    Hora en formato 24 horas con uno o dos dígitos(0..23)
%l    Hora en formato 12 horas con uno o dos dígitos(1..12)
%m    Mes con dos dígitos(01..12)
%M    Minutos con dos dígitos (00..59)
%r    Hora completa en formato de 12 horas (ejemplo 01:23:45)
%R    Horas y minutos en formato de 24 horas, igual que %H:%M
%s    Segundos transcurridos desde 01/Ene/1970 00:00:00 (fecha epoch)
%S    Segundos con dos dígitos, (00..60)
%T    Hora completa en formato de 24 horas (ejemplo 13:23:45)
%u    Dia de la semana en número (1..7, 1 es lunes)
%U    Número de la semana en el año, domingo primer día de la semana (00..53)
%V    Número de la semana en el año, lunes primer día de la semana (01..53) Formato ISO
%w    Día de la semana en número (0..6, 0 es domingo)
%W    Número de la semana en el año, lunes primer día de la semana (00..53)
%y    Últimos dos dígitos del año
%Y    Año con cutro dígitos
%z    Huso o zona horaria numérica
%Z    Huso o zona horaria abreviación alfabética


************************************************************************
************************************************************************


  4.- En base al archivo que les adjunto (repetidos.txt) ustedes deberan generar un MENU con las
        siguientes opciones ...
        a) Mostar Nombres (sin repetirse)
        b) Mostrar Nombres repetidos en mas de 2 ocaciones, y mostrar cuantas repeticiones.
        c) salir


4 R//
#! /bin/bash
#ruta /home/patricio/apuntes_script/p_script/prueba_1
echo;echo
clear
cont=1
while [ $cont -le 1 ]
 do
 echo "#########MENU##########"
 echo "1)Mostar Nombres sin Repetirse"
 echo "2)Mostrar Nombres Repetidos mas de 2 Ocaciones/mostrar Cuantas Repeticiones "
 echo "Salir"
 echo -n "Elija una opcion: "
 read opcion
 case $opcion in
        1) cat repetidos.txt | sort -d | uniq -c | grep -v "2"

;;
                2) echo "Numero de Repeticiones  / Nombre personal  "
                 cat repetidos.txt | sort -d | uniq -c | grep -v "1"

;;
                 

                        3) exit

;;
              
*)
echo "Usted a Ingresado Opcion "
          
                       
                esac
                        echo "Seleccionar la opcion"
                        echo -n "Continuar=(1) Salir=(2): "
                        read cont
                        clear
              done

 **********************************************************************
***********************************************************************

# Creando Modificacion de prueba 3 *************

#cut  la fila 1 luego , en var se guarda la fila 7
# echo muestra lo sgte
#El interprete de comandos del usuario patricio y /bin/bash


 for sin in $( cat /etc/passwd | cut -d ":" -f1 )
do
var=`cat /etc/passwd | grep $sin| cut -d ":" -f7`

sleep 1
echo "El interprete de comandos del usuario $sin y $var"
done



                      

 ************************************************************************
*************************************************************************

ls  -a = archivos ocultos

*********************************************************************

*******************GREP ********************************************
 grep  -v = muestra todo menos el patron de busqueda con esta opcion
grep -c = cuenta las lineas  y muestra su resultado



 cat -n las enumera
1.........
2
3
4
5





 cat /etc/passwd | grep -io "^[^:]*"
-o = busca el patron buscado
-i = discrimina mayuscula y minuscula
^  = principio de linea
^: = en el rango antes de los :
*  = todo



 MUESTRA :

root
bin
daemon
adm
lp
sync
shutdown
halt
mail
patricio




**********************************************************************************
**********************************************************************************
FIND

find -name
find -zise
find -perm

ejemplo :
find -perm 777
./env_correo
./validaciones_2
./crear_user
./cadena

**************************************************************
uniq -d solo lineas duplicadas
uniq -c liinea con el numero de apariiones
***************************************************************

COMPRESOR TAR.GZ

Ejemplo :

#! /bin/bash
#nombre del archivo a respaldar  tmp directorio a respaldar 
tar cvzf backuptmp.tar.gz /tmp 2> /dev/null
#crea el directorio Respaldo
mkdir /home/respaldos
# copia de root el archivo root/backuptmp.tar.gz al directorio home respaldo
cp /root/backuptmp.tar.gz /home/respaldos/ 2> /dev/null

PARA COMPRIMIR

 tar cvzf mi_back1.tar.gz 1234567

tar cvzf respaldo_`date +%d%b%y`.tar.gz /var/log

PARA DESCOMPRIMIR

 tar xzvf archivo.tar.gz

**************************************************************
******************************************************************

Ejemplo AWK

#BUSCA LA FILA 1 Y 2 SEPARADA POR " : " DEL ARCHIVO POBLACION.TXT
awk -F : '{print $1 ":" $2 }' poblacion.txt

#NR =3 : COLUMNA 3 - print $1, $2 fila 1 y 2  del archivo .txt
 awk -F : ' NR==3 { print $1,"y", $2 }' poblacion.txt

#  LO DIGITADO anterior muestra lo siguiente:
 hector y 22


4*imprimir solo los nombres de usuarios del archivo etc/passwd
R// awk -F :  '{print $1}' /etc/passwd
5*Imprimir todas las lineas del archivo con numero de lineas
R// awk -F :  '{print $0}' /etc/passwd | cat -n
6*mostar solo los nombres y los tamaños de los archivos del directorio actual
R//  ls -l | awk  '{ print $9, $5  }'
7*Imprimir las lineas de un archivo que tengan mas de 9 campos x columnas
R//  awk  'length > 9' poblacion.txt| cat -n
     1    gerardo:20
     2    esteban:21
     3    patricio:24
     4    abiathar:23

8*Imprimir todas las columnas que comiencen en a , con print $0 = todas las filas del archivo.txt
 awk  '/^a/{ print $0}' poblacion.txt





**************************************************************
**************************************************************

SORT

sort -r       ordena de z , hasta la a
sort -d       ordena de a hasta la z

***************************************************************
*****************************************************************

HEAD

 #IMPRMIME LAS 3 LINEAS DE UN ARCHIVO : CON EL CAT LAS ENUMERA

head -n 3 poblacion.txt | cat -n
     1    cesar:23
     2    juan:21
     3    hector:22


*******************************************************************
*******************************************************************







miércoles, 19 de junio de 2013

jueves, 6 de junio de 2013

SCRIPT_CON_VALIDADOR

AQUÍ COLOCAR MAS SCRIPT QUE POSEE VALIDACION MAXIMA DE ERRORES
SE ENCUENTRA EN CONTRUCCION CON MAXIMOS NIVELES DE SEGURIDAD:

#! /bin/bash

#Valida Si ejecutas el script como Superusuario O     Root
clear
if [ "`whoami`" != "root" ];
then
echo "Por favor, ejecuta el script como superusuario (sudo O root)"
exit 1
fi

# Mensaje de Bienvenida
echo "Escriba su Nombre para acceder al Sistema"
read nombre



echo "Bienvenido (a) $nombre a Nuestro Sistema"
echo "Loading ........................."
sleep 2
clear

#Menu Principal Permite, El While permite que se Repita el Menu,
while :
do
echo " ***** Menu ***** "
echo " 1) ingrese password "
echo " 2) Ingrese letra de 7 Caracteres y Mas o Menos "
echo " 3) Ingrese Numero "
echo " Ingrese Opcion porfavor "
echo ""
read option



 

# el case da a conoser varias Opciones segun la opcion Indicada, en Read

case $option in

                1) echo "ingrese password"
            read pass

            echo "$pass" > passw
            clear
            if [ -z $pass ]
            then
            echo "su password esta en blanco"
            sleep 2
#si la clave es mayor o igual 7 su password es segura , de lo contrario es insegura
            elif [ $(wc -c passw | cut -d " " -f1) -ge "8" ] 2>/dev/null
            then
            echo "su password es segura"
            sleep 2
            else
            echo "su password es Muy Insegura"
            sleep 2
            fi
            clear

;;

               2) echo "ingrese palabra"
read pass

echo "$pass" > passw
clear
if [ $(wc -c passw | cut -d " " -f1 ) = "8" ] 2>/dev/null
then
echo " igual a 7 caracteres"
sleep 2
elif [ $(wc -c passw | cut -d " " -f1 ) -le "8" ]
# 2>/dev/null
then
echo "es menor que 7 caracteres"
sleep 2
elif [ $(wc -c passw | cut -d " " -f1 ) -ge "8" ] 2>/dev/null
then
echo "es mayor que 7 caracteres "

#else "es mayor que 7 caracteres" 1>/dev/null
fi
sleep 3
clear

;;

               3) echo "ingrese password"
                read pass

                echo "$pass" > passw
                clear
                if [ -z $pass ]
                then
                echo "su password esta en blanco"
                sleep 2
    elif [ $(wc -c passw | cut -d " " -f1) -ge "7" ] 2>/dev/null
        then
        echo "su password es segura"
        sleep 2
        else
        echo "su password es Muy Insegura"
        sleep 2
        fi
        clear



;;

     
    *) echo ""
            echo " Estimado (a) $nombre A Ingresado opcion #invalida "
              echo ""
              sleep 2
               clear

;;



esac
done

APUNTES_CLASES

APUNTES O EJERCICIOS PAD AQUI

Ciclo FOR : CASE : IF : WHILE


for num in $(seq 1 100)
do
echo $num
done
**************************
**************************

#! /bin/bash

for i in *
    do
        ls -l $i
        sleep 1
done

********************************
********************************
#! /bin/bash
for i in [cr]*
ls -l $i
sleep 1
done
 ************************************
*************************************
#! /bin/bash

for planet in mercurio venus Tierra Martes Jupiter Saturno
echo $planet
sleep 1
done
*******************************************
*******************************************
crear archivo llamado icqserver.txt
chat.icq.com
c.icq.com
company.icq.com
download.icq.com
ftp.icq.com
people.icq.com
www.icq.com


script :

#! /bin/bash
    for ip in $(cat /home/patricio/pad_2013/icqserver.txt)
    host $ip | grep -i "has address"

done


#hostchat.icq.com | grep -i "has addres"
#www.icq.com
# IRC MSJ INSTANTANEA


# para visualizar ip de una pagina
#ping www.google.cl
#hostame www.nic.cl


******************************
******************************
Tarea Ping de toda la red y muestre las up y down y las redireccione a un archivo

********************************
********************************


********************************
********************************

#para escuchar musica en terminal :
yum install -y mplayer
yum install -y lynx

Programa lynx --source http://comixter.org/view/media/remix/grep "mp3"

Script :

#! /bin/bash
for music in $( lynx --source http://comixter.org/view/media/remix/grep "mp3")
do
mplayer $music
done

************************************************
************************************************
time ping -c1 127.0.0.1 # para ver el tiempo de ejecucion de un comando

************************************************
¨***********************************************
para crear subinterfaces:

ifconfig eth0:2 192.168.0.6

2 es el numero de interface  .6 es la ip a crear

*************************************************
*************************************************
#! /bin/bash
cont =1
while  [ cont -le 1 ]
echo "creacion de usuario"
read opcion in  
                          1) conta=1
                             while [ $cont -le 1 ]
                            echo -n "Ingrese el nombre de Usuario"
                            read nombre
                          #useradd -p
                            aduser $nombre >> usuarios.txt
                           sleep 2
                            echo -n " Ingrese Contraseña "
                           passwd "passwds >usuario.txt
                         echo "para seguir presione 1 para Volver 2"
                          read volver ;;
esac

***************************************

Tarea: hacer ping a direcciones ip resultado que tales ip no tienen conexion
Hacer unn Respaldo de Back log accesos del sistema .

*¨*****************************************
*******************************************
#para operaciones de 2 Numeros
#! /bin/bash
echo -n "ingrese numero 1"
read n1
echo -n "ingrese numero 2"
read n2
let let  =  n$1 n$2
echo $let

 echo "****Menu********"
echo "1)Sumar"
echo "2)Resta"
echo "3)Multiplicacion"
echo "4)Division"
echo -n "Ingrese la Opcion:"
read opcion

case opcion in
                               1) let let=$n1+n2
                                ;;

                                 2)let let=$n1.n2
                                ;;
                                3)let let=$n1/n2
                               ;;
                                 4)let let=$n1*n2
                               ;;

esac
echo "################################"
echo "el resultado es : $ let"
read pato
echo "Ingrese la Opcion 1 para continuar Opcion 2 Para Salir "
read salir
done


**********************************
**********************************
-d archivo existe y es un Directorio
-e archivo existe
-f archivo existe y es un archivo regular u Ordinario
-s archivo existe y no esta vacio
-o eres el dueño del archivo

***********************************************
***********************************************
*expresiones:
cadena 1! =cadena 2 =dieferente de
-z cadena = longitud de la cadena es cero
-n cadena 1 = longitud de la cadena 0

nº 1 -le nº2  = menor o igual que
nº1 -ne  nº2 =diferente de
nº1 -gt  nº2 =mayor que
nº1 -ge nº2 =mayor o igual que
nº1 -lt  nº2 =mayor que
nº1 -le  nº2=menor o igual que

OPERADORES
= igual
!= no es igual a (es distinto al )
>   es mayor que
< es menor que
-n no es igual a cadena nula
-z tiene valor nulo (longitud cero)

************************************************
************************************************

#Ejemplo -d
echo "ingrese directorio o archivo"
read var
if test -d $var
then
echo ""es un directorio"
else
echo "no lo es "
fi
*****************************************
*****************************************

CICLO                IF

                                  INICIO CICLO :
                                     /CONDICION
                                     /                        \
                                   /                           \
                                /                                \
                             /                                      \
                         SI                                         NO
                     BLOQUE 1                              BLOQUE
                                         >                    <
                                                FIN
                     FI
**********************************************
**********************************************
Ejemplo de un Menú

 #! /bin/bash
algo=1
while [ $algo - le 1 ]
do
      echo "####Menu######"
echo "1 permisos"
echo "2 donde me encuentro"
echo "3 Salir "
echo -n "Ingrese Opcion:"
read opcion

case $opcion in 1) ls
                          ;;
                        2) pwd
                       ;;
                       3) let algo =$algo+1
                     ;;
echo "Fin Script"
esac

done

**************************
**************************

martes, 28 de mayo de 2013

VAR_SCRI_PROF

CADA SCRIPT SE ENCUENTRA SEPARADO POR :
*****************************************************
*****************************************************

#! /bin/bash
clear
#validar si un usuario esta conectado al sistema, Validando si existe #en el sistema

echo;echo

cont=1
while [ $cont -le 1 ]
do
echo "***************Menu_Usuarios*************"
echo "1)crear Usuario"
echo  "2)Usuario Conectados"
echo  "3)Validar Usuario conectado"
echo  "4)Validar si Usuario Existe en el Sistema"
echo "Salir"
echo ""
echo "elija la opcion que decea ejecutar"
echo ""
read opc

case $opc in 
               1)pt=1
                 while [ $pt -le 1 ]
                 do
                 sleep 2

                echo "Ingrese usuario a crear"
                read user
                if [ -z $user ]
then
echo "su password esta en blanco"
                     
                useradd $user
                passwd $user
                echo " Usuario Creado exitosamente $(cat /etc/passwd | grep -i $user | cut -d":" -f1)"

echo "Ingrese 1 Si desea volver a crear usuario y Ingrerse 2 para volver al menu principal"
                  read pt
                  clear
fi
                  done


;;



                2)
                 kar=1
                 while [ $kar -le 1 ]
                 do
                 sleep 2
                 who | cut -d " " -f1
 echo "Ingrese 1 Si desea volver a consultar y Ingrerse 2 para volver al menu principal"
                  read kar
                  clear
                  done
;;

                3)
                 pat=1
                 while [ $pat -le 1 ]
                 do
                 sleep 2


                 if id | grep uid=0 >/dev/null
                 then
             clear
             echo;echo
             echo -n "Ingrese USUARIO: "
             read user

             if cat /etc/passwd | grep -i $user >/dev/null
             then
                 echo "El usuario - $user - ya existe en el sistema ..."
                 echo;echo
                 sleep 1

            else
        echo;echo
        echo "El usuario - $user - no existe en el sistema ......."

fi
fi
 echo "Ingrese 1 Si desea volver a consultar y Ingrerse 2 para volver al menu principal"
                  read pat
                  clear
                  done


;;

                 4) echo "Usted a elegido salir Gracias por preferirnos Vuelva pronto"
                   sleep 5
                   exit



esac
done


********************************************************************
*********************************************************************

 Agenda Telefonica


 #! /bin/bash
clear
#validar si un usuario esta conectado al sistema, Validando si existe #en el sistema

echo;echo

cont=1
while [ $cont -le 1 ]
do
echo "***************Menu_Usuarios*************"
echo "1)crear Usuario"
echo  "2)Usuario Conectados"
echo  "3)Validar Usuario conectado"
echo  "4)Validar si Usuario Existe en el Sistema"
echo "Salir"
echo ""
echo "elija la opcion que decea ejecutar"
echo ""
read opc

case $opc in
               1)pt=1
                 while [ $pt -le 1 ]
                 do
                 sleep 2

                echo "Ingrese usuario a crear"
                read user
                if [ -z $user ]
then
echo "su password esta en blanco"
                    
                useradd $user
                passwd $user
                echo " Usuario Creado exitosamente $(cat /etc/passwd | grep -i $user | cut -d":" -f1)"

echo "Ingrese 1 Si desea volver a crear usuario y Ingrerse 2 para volver al menu principal"
                  read pt
                  clear
fi
                  done


;;



                2)
                 kar=1
                 while [ $kar -le 1 ]
                 do
                 sleep 2
                 who | cut -d " " -f1
 echo "Ingrese 1 Si desea volver a consultar y Ingrerse 2 para volver al menu principal"
                  read kar
                  clear
                  done
;;

                3)
                 pat=1
                 while [ $pat -le 1 ]
                 do
                 sleep 2


                 if id | grep uid=0 >/dev/null
                 then
             clear
             echo;echo
             echo -n "Ingrese USUARIO: "
             read user

             if cat /etc/passwd | grep -i $user >/dev/null
             then
                 echo "El usuario - $user - ya existe en el sistema ..."
                 echo;echo
                 sleep 1

            else
        echo;echo
        echo "El usuario - $user - no existe en el sistema ......."

fi
fi
 echo "Ingrese 1 Si desea volver a consultar y Ingrerse 2 para volver al menu principal"
                  read pat
                  clear
                  done


;;

                 4) echo "Usted a elegido salir Gracias por preferirnos Vuelva pronto"
                   sleep 5
                   exit



esac
done

********************************************************************
********************************************************************


Script_Ejemplo Usuario_  Profe

#!/bin/bash


if id | grep uid=0 >/dev/null
then
    clear
    echo;echo
    echo -n "Ingrese USUARIO: "
    read user

    if cat /etc/passwd | grep -i $user >/dev/null
    then
        echo
        echo "El usuario - $user - ya existe en el sistema ......."
        echo
        echo "[*] $user no puede volver a ser creado"
        echo;echo
        sleep 1

    else
        echo;echo
        echo "El usuario - $user - no existe en el sistema ......."
        echo
        sleep 1
        echo -n "[*] Desea crearlo (Y/n): "
        read res

        if [ $res == "Y" ] || [ $res == "y" ] || [ $res == "yes" ] || [ $res == "YES" ]
        then
            echo;echo
            echo "[*] Usuario creandose ....."
            echo "[*] Genrandose Informe ...."
            useradd $user
            sleep 3

        while :
        do
            clear
            echo;echo
            echo "---------------------- "
            echo ">  REPORTE DE $user    "
            echo "---------------------- "
            echo;echo
            echo "[*] User ->    $(cat /etc/passwd | grep -i $user | cut -d":" -f1)"

            if [ $(cat /etc/shadow | grep -i $user | cut -d":" -f2) == "!" ]
            then
                echo "[*] Pass ->    Sin Password"
            else
                echo "[*] Pass ->    $(cat /etc/shadow | grep -i $user | cut -d":" -f2)"
            fi

            echo "[*] UID ->     $(cat /etc/passwd | grep -i $user | cut -d":" -f3)"
            echo "[*] GID ->     $(cat /etc/passwd | grep -i $user | cut -d":" -f4)"

            if [ -z $(cat /etc/passwd | grep -i $user | cut -d":" -f5) ] 2>/dev/null
            then
                echo "[*] Comment    Sin Comentarios"
            else
                echo "[*] Comment -> $(cat /etc/passwd | grep -i $user | cut -d":" -f5)"
            fi

            echo "[*] Home ->    $(cat /etc/passwd | grep -i $user | cut -d":" -f6)"
            echo "[*] Shell ->   $(cat /etc/passwd | grep -i $user | cut -d":" -f7)"
            echo;echo
            sleep 1
            echo -n "[*] MODIFICAR A - $user - (Y/n): "
            read mod

                if [ $mod == "Y" ] || [ $mod == "y" ] || [ $mod == "yes" ] || [ $mod == "YES" ]
                then
                    while :
                        do
                    clear
                    echo;echo
                    echo "             [C]omentario"
                    echo "             [H]ome"
                    echo "             [G]rupo"
                    echo "             [S]hell"
                    echo "             [P]assword"
                    echo "             [B]ack"
                    echo
                    sleep 1
                    echo -n "          Ingrese Opcion: "
                    read opc
                    echo
                    case $opc in

                        C|c) echo -n "Ingrese el comentario: "
                        read com

                            if [ -z $com ]
                            then
                                echo "No ingreso nada como comentario ..."
                                sleep 2
                            else
                                usermod -c "$com" $user >/dev/null
                                echo "procesando ..."
                                sleep 2
                            fi
                        ;;

                        H|h) echo -n "Ingrese el home: "
                        read hm

                            if [ -z $hm ]
                                                        then
                                                                echo "No ingreso nada como home ..."
                                sleep 2
                                                        else
                                usermod -d /home/$hm $user >/dev/null
                                echo "procesando ..."
                                sleep 2
                            fi
                        ;;

                        G|g) echo -n "Ingrese el gid: "
                        read gi

                            if [ $gi -gt "500" ] 2>/dev/null
                            then
                                usermod -g $gi $user >/dev/null
                                echo "procesando ..."
                                sleep 2

                            elif [ $gi -le "500" ] 2>/dev/null
                            then
                                echo "el uid tiene que ser mayor a 500"
                                sleep 2
                            else
                                echo "Se esperaba un valor Numerico"
                                sleep 2
                            fi
                        ;;

                        S|s) echo "Shell Disponibles"
                        echo "----------------"
                        echo
                        cat /etc/shells | grep -v "#"
                        echo;echo
                        echo -n "Ingrese shell: "
                        read shl


                        if cat /etc/shells | grep -v "#" | grep ^$shl
                        then
                            usermod -s $shl $user >/dev/null
                                echo "procesando ..."
                                sleep 2
                        else
                            echo "Debe ingresar la ruta completa ...."
                            sleep 3
                            echo;echo
                        fi
                        ;;

                        P|p) passwd $user
                        ;;

                        B|b)
                        echo;echo
                                            echo "saliendo del menu ..."
                                            sleep 2
                                            echo;echo
                                            break;;

                        *)
                        echo;echo
                        echo "Usted escogio una opcion invalida ..."
                        echo
                        sleep 4
                        ;;
                    esac
                done

                elif [ $mod == "N" ] || [ $mod == "n" ] || [ $mod == "no" ] || [ $mod == "NO" ]
                                then
                    echo;echo
                    echo "Saliendo del script ..."
                    sleep 2
                    echo "bye !!!"
                    echo;echo
                    exit
                else
                    echo;echo
                    echo "Escogio una opcion Invalida ..."
                    sleep 4
                    echo;echo
                fi

        done


    elif [  $res == "N" ] || [ $res == "n" ] || [ $res == "NO" ] || [ $res == "no" ]
    then
        echo;echo
        echo "usted escogio no crear al usuario - $user - en esta ocacion ......."
        echo "bye !!!"
        echo;echo
        sleep 1

    fi


fi

else
    echo;echo
    echo " --------------------------------------"
    echo "| SOLO ROOT PUEDE EJCUTAR ESTE SCRIPT |"
    echo " ------------------------------------- "
    echo;echo
fi


*********************************************************************
*************************************************************************
---------------------------------------------------------------------------------------------------
__________________________________________________________________________





1.##### vi 100 #############################################################

#!/bin/bash
#imprime numeros del 1 al 99 
cont=0
while [ $cont -le 99 ]
do
let cont=$cont+1
echo "numero $cont"
done

2.##### vi 100- ############################################################

#!/bin/bash
#imprime numeros del 100 al 1
cont=101
while [ $cont -ge 1 ]
do
let cont=$cont-1
echo "numero $cont"
done

3.##### vi 100pares #############################################################

#!/bin/bash
#muestra numeros pares del 2 al 98  
#2
#4
# 6
cont=0
while [ $cont -le 98 ]
do
let cont=$cont+2
echo "numero $cont"
done

4.##### vi Impares ################################################################

#!/bin/bash
#muestra numeros impares del 1 al 97
cont=-1
while [ $cont -le 97 ]
do
let acumulador=$acumulador+1
let cont=$cont+2
echo "numero $cont"
done
echo""
echo "Hay $acumulador numeros impares"

5.##### vi Saldo ################################################################

#!/bin/bash
#realiza una multiplicacion de dias 
echo -n "Ingrese dia: "
read dia
let dias=$dia*30
let saldo=30000-$dias
echo "su saldo es: $saldo"

6.##### vi Positivos #############################################################

#!/bin/bash
#NOS DICE SI UN NUMNERO ES POSITIVO
echo -n "Ingrese su numero: "
read num
if [ $num -ge 0 ]
then
echo "El numero es positivo"
else
echo "El numero es negativo"
fi

7.##### vi Naturales ################################################################

#!/bin/bash
cont=0
echo -n "Ingrese su numero: "
read num
echo""
while [ $cont -lt $num ]
do
let cont=$cont+1
echo "$cont"
done

8.##### vi Cilindro ################################################################

#!/bin/bash
echo -n "Ingrese el radio (en metros): "
read radio
echo -n "Ingrese la altura (en metros): "
read altura
echo""
let volumen=3*$radio*$radio*$
altura
echo""
echo "El volumen del cilindro es $volumen metros cubicos"

9.##### vi Cubo ###############################################################

#!/bin/bash
echo -n "Ingrese el lado: "
read lado
echo""
let Area=$lado*$lado*6
let Perimetro=$lado*12
let Volumen=$lado*$lado*$lado
echo "El Area es: $Area metros cuadrados"
echo "El Perimetro es: $Perimetro metros"
echo "El Volumen es: $Volumen metros cubicos"

10.##### vi Liquidaciones #####

#!/bin/bash
echo -n "Ingrese el nombre del docente: "
read nombre
echo -n "Ingrese las horas trabajadas: "
read horas
echo -n "Ingrese las horas extra trabajadas: "
read extras
echo""
let Liquidacion=$horas*10000+$extras*12000
echo""
echo "La liquidacion total del docente es: $Liquidacion pesos"



11.##### vi Grados ################################################################

#!/bin/bash
echo -n "Ingrese grados celsius: "
read celsius
let Kelvin=$celsius+273
let Farenheit=2*$celsius+32
echo""
echo "Los grados celsius ingresados equivalen a $Kelvin grados K y a $Farenheit grados F"

12.##### vi Bebidas #####

#!/bin/bash
cont=1
while [ $cont le 1 ]
do
echo "¿Que bebida prefiere?"
echo "Opciones:"
echo "1) Coca-Cola"
echo "2) Pepsi"
echo "3) Fanta"
echo "4) Salir"
echo""
echo -n "Ingrese su opcion: "
read opcion
echo""
case $opcion in
1)let beb1=beb1+1;;
2)let beb2=beb2+1;;
3)let beb3=beb3+1;;
4)let cont=$cont+1;;
esac
let acumulador=$acumulador+1
done
let Porc1=(beb1*100)/$acumulador
let Porc2=(beb2*100)/$acumulador
let Porc3=(beb3*100)/$acumulador
echo""
echo "Un $Porc1% prefiere Coca-Cola"
echo "Un $Porc2% prefiere Pepsi"
echo "Un $Porc3% prefiere Fanta"


13.##### vi LiquidacionesRedireccionadas #############################################

#!/bin/bash
cont=1
while [ $cont -le 1 ]
do
echo -n "Ingrese su nombre completo: "
read nombre
echo -n "Ingrese las horas trabajadas: "
read horas
echo -n "Ingrese su valor hora: "
read valor
echo""
if [ $horas -le 60 ]
then
echo "Esta Despedido!"
else
echo "Siga Trabajando!"
fi
let total=$horas*$valor
echo "Su liquidacion es: $total pesos"
echo "Para continuar presione 1, para salir presione 2"
read cont
done
echo "Nombre: $nombre Liquidacion: $liquidacion pesos" >> base_de_datos.txt
============================================================
************************************************************************************************
EJER__1

ejer1
#! /bin/bash
#
variable=0
while [ $variable -le 99 ]
do
let variable=$variable+1
echo "numero $variable"
done

========================================================
EJER_2
#! /bin/bash
#
contador=101
while [ $contador-ge 1 ]
do
let contador=$contador-1
echo "numero $contador"

done

======================================================
EJER_3
#! /bin/bash
#
variable=0
while [ $variable -le 98 ]
do
let variable=$variable+2
echo "resultado $variable"
done

==============================================================
EJER_4

#! /bin/bash

#
clear
echo
contador=1
while [ $contador -le 100 ]
do
echo "numero $contador"
let acumulador=$acumulador+1
let contador=$contador+2
done
echo
echo
echo "contador de impares"