1 2 3 4 5 6 7 8 |
@echo off :contador set /p archivo=Ingrese nombre Archivo = set cuenta=0 for /f %%x in (%archivo%) do set /a cuenta=1+cuenta set funcion=%cuenta% echo %funcion% pause>nul |
1 2 3 4 5 6 7 8 |
@echo off :contador set /p archivo=Ingrese nombre Archivo = set cuenta=0 for /f %%x in (%archivo%) do set /a cuenta=1+cuenta set funcion=%cuenta% echo %funcion% pause>nul |
Este script de ejemplo sirve para verificar si un componente (programa-script-cgi-etc..) fue replicado (copiado) en forma correcta. El listado de servidores, se encuentra en un archivo de texto, el cual es leído línea a línea y por cada uno realiza una consulta remota, mediante RSH. Se puede adaptar para automatizar procesos en «n» servidores.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
#!/bin/ksh esp="\\n " echo "\\n" opcion=0 fecha=`date +%d/%m/%Y` trap "continue" 2 3 until test $opcion = 99 do clear date '+%n Fecha : %d/%m/%Y Hora : %H:%M Hrs.' echo " +---------------------------------------------+ | CONSULTA REPLICA DE COMPONENTES | +---------------------------------------------+ 08-01-2014 V.1 prueba.sh " echo " Servidores a consultar : \\c " read ser if [ ! "$ser" ] then break fi SERVIDORES="/usr01/home/pruebas/logs/$ser.txt" echo "" echo " Componente a consultar replica : \\c " read sse if [ ! "$sse" ] then break fi echo "" echo "" echo " Para Ejecutar digite tal como aparece Mayuscula y minuscula [Si] : \\c" read opcion if [ ! "$opcion" ] then break fi case $opcion in Si) echo "" echo "-----------------------INICIO CONSULTA REPLICA DE SERVICIO-------------------------" TEMP=`cat $SERVIDORES` for equipos in $TEMP do ejecuta=`rsh $equipos ls -ltr /usr01/apli/$mot/bin/$sse` echo $equipos" "$ejecuta done echo "----------------------------FIN CONSULTA REPLICA DE SERVICIO-------------------------" read pausa echo "";; *) echo "";; esac done |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# Muestra todos los parámetros, # si encuentra una "f" finaliza while [ $# -gt 0 ] do if [ $1 = "f" ] then break fi echo Parámetro: $1 shift done # Muestra todos los parámetros, # si encuentra una "f" # se lo salta y continúa el bucle while [ $# -gt 0 ] do if [ $1 = "f" ] then shift continue fi echo Parámetro: $1 shift done |
A este Script le llamaremos «agenda» el uso es simple, sirve para registrar información en forma rápida. Del mismo modo que uno utiliza una agenda. Después se puede realizar búsqueda y si encuentra coincidencias mostrara los registros correspondientes. Poner especial atención al uso de CASE para la selección de diferentes opciones. Este ejemplo sirve de gran utilidad para el desarrollo de soluciones.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#/bin/bash DICT=$HOME/agenda.txt T=`date +"%d/%m/%Y %H:%M"` OP=$1 KEYWORD=$2 if [ "$3" != "" ] then echo "Debes usar comillas para el ingreso de datos" exit fi case "$OP" in "ADD" | "add" ) if [ "$KEYWORD" == "" ] then echo "No se ingresaron datos !!!" else echo "$T $KEYWORD" >> $DICT echo "Added" fi ;; "SEARCH" | "search") if [ "$KEYWORD" == "" ] then echo "Patron de busqueda no encontrado" exit else grep -i "$KEYWORD" $DICT fi ;; * ) echo "Uso del script : $0 add|search keyword" ;; esac |
se debe dar permisos de ejecución al script «agenda». El modo de uso es el siguiente :
Para ingresar datos a la agenda :
agenda add «Esta es una prueba del uso que se puede dar a esta utilidad»
Búsqueda de datos en la agenda :
Agenda search «utilidad»
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#!/bin/bash fecha_inicio=20131225 fecha_final=20140106 HOY=$(date) echo "La fecha de hoy es $HOY" HOY_FORMATO_1=$(date +%Y-%m-%d) echo "Fecha hoy en formato ano-mes-dia : $HOY_FORMATO_1" HOY_FORMATO_2=$(date +%d-%m-%Y) echo "Fecha hoy en formato dia-mes-ano : $HOY_FORMATO_2" DIFERENCIA=$(( ($(date --date "$fecha_final" +%s) - $(date --date "$fecha_inicio" +%s) )/(60*60*24) )) echo "Diferencia $fecha_inicio y $fecha_final : $DIFERENCIA dias" PRIMER_DIA_DEL_MES=$(date --date "-$(($(date +%d) -1)) days" +%Y%m%d) echo "Fecha 1er. dia del mes : $PRIMER_DIA_DEL_MES" ULTIMO_DIA_DEL_MES=$(date --date "-$(($(date +%d) -1)) days + 1 month -1 days" +%Y%m%d) echo "Fecha ultimo dia del mes : $ULTIMO_DIA_DEL_MES" DOMINGO=$(date --date "-$(date +%u) days" +%Y%m%d) echo "Fecha dia Domingo Anterior : $DOMINGO" LUNES=$(date --date "-$(( $(date +%u) + 6 )) days" +%Y%m%d) echo "Fecha dia Lunes Anterior : $LUNES" HACE_TRES_DIAS=$(date --date "-3 days" +%Y%m%d) echo "Hace tres dias : $HACE_TRES_DIAS" MAS_TRES_DIAS=$(date --date "+3 days" +%Y%m%d) echo "En tres dias mas : $MAS_TRES_DIAS" HACE_UN_MES=$(date --date "-1 month" +%Y%m%d) echo "Hace un mes : $HACE_UN_MES" exit |
Ejecución del Script :
La fecha de hoy es Mon Jan 6 14:49:08 CLST 2014
Fecha hoy en formato ano-mes-dia : 2014-01-06
Fecha hoy en formato dia-mes-ano : 06-01-2014
Diferencia 20131225 y 20140106 : 12 dias
Fecha 1er. dia del mes : 20140101
Fecha ultimo dia del mes : 20140131
Fecha dia Domingo Anterior : 20140105
Fecha dia Lunes Anterior : 20131230
Hace tres dias : 20140103
En tres dias mas : 20140109
Hace un mes : 20131206