Si es un lector habitual de este blog y le gusta su contenido quizá quiera contribuir a su mantenimiento. Cualquier cantidad por pequeña que sea será bien recibida.
Gracias por tu aporte.
Comentarios recientes
- Anónimo en UNIX – Pedir confirmación antes de ejecutar un script.-
- Rodrigo en LINUX – Parsear documento XML en script bash.
- Ricardo en LINUX – Parsear documento XML en script bash.
- Gonzalo Reiser A. en BASH – SCRIPT para monitoreo de archivo LOG.-
- Gonzalo Reiser A. en BASH – SCRIPT para monitoreo de archivo LOG.-
Archivos
- febrero 2024 (2)
- enero 2024 (11)
- diciembre 2023 (1)
- noviembre 2023 (10)
- septiembre 2023 (5)
- agosto 2023 (10)
- junio 2023 (3)
- mayo 2023 (4)
- abril 2023 (10)
- febrero 2023 (3)
- enero 2023 (1)
- diciembre 2022 (2)
- noviembre 2022 (1)
- agosto 2022 (4)
- julio 2022 (1)
- junio 2022 (4)
- febrero 2022 (9)
- abril 2021 (1)
- enero 2021 (3)
- diciembre 2020 (2)
- noviembre 2020 (2)
- octubre 2020 (1)
- septiembre 2020 (4)
- agosto 2020 (1)
- julio 2020 (1)
- junio 2020 (5)
- mayo 2020 (12)
- abril 2020 (1)
- enero 2020 (1)
- noviembre 2019 (5)
- octubre 2019 (4)
- septiembre 2019 (1)
- agosto 2019 (1)
- julio 2019 (11)
- junio 2019 (1)
- julio 2018 (3)
- octubre 2017 (1)
- septiembre 2017 (2)
- agosto 2017 (3)
- julio 2017 (11)
- mayo 2017 (6)
- abril 2017 (3)
- marzo 2017 (7)
- febrero 2017 (1)
- diciembre 2016 (3)
- octubre 2016 (4)
- septiembre 2016 (2)
- agosto 2016 (10)
- julio 2016 (9)
- junio 2016 (9)
- mayo 2016 (27)
- abril 2016 (10)
- marzo 2016 (15)
- enero 2016 (3)
- diciembre 2015 (7)
- octubre 2015 (2)
- septiembre 2015 (3)
- agosto 2015 (9)
- julio 2015 (11)
- junio 2015 (22)
- mayo 2015 (7)
- abril 2015 (22)
- marzo 2015 (5)
- febrero 2015 (2)
- enero 2015 (10)
- diciembre 2014 (7)
- noviembre 2014 (3)
- octubre 2014 (2)
- septiembre 2014 (4)
- agosto 2014 (22)
- julio 2014 (15)
- junio 2014 (8)
- mayo 2014 (6)
- abril 2014 (10)
- marzo 2014 (15)
- febrero 2014 (3)
- enero 2014 (15)
- diciembre 2013 (11)
- noviembre 2013 (25)
- octubre 2013 (46)
- septiembre 2013 (30)
Archivo mensual: noviembre 2013
BATCH – Script vigila proceso en servidor UNIX.
Este script lo utilizo desde Windows 7, mediante una tarea programada, lo ejecuto indefinidamente cada 30 minutos. lo que realiza es «lanzar» un script en un servidor determinado y verificar si un proceso esta en ejecución. Captura la respuesta, si … Sigue leyendo
Publicado en BATCH - DOS
Deja un comentario
BASH – Script como hacer trim (quitar espacios) en BASH
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#!/bin/bash # Script para quitar los espacios al inicio y al final de una variable cadena=' prueba de trim ' #Los [] son para ver claramente los espacios echo "+ Cadena original [${cadena}]" # quito los espacios del principio cadena="${cadena#"${cadena%%[![:space:]]*}"}" # quito los espacios del final cadena="${cadena%"${cadena##*[![:space:]]}"}" echo "+ Cadena sin espacios [${cadena}]" Resultado de la ejecución : + Cadena original [ prueba de trim ] + Cadena sin espacios [prueba de trim] |
Publicado en Unix - Linux
Deja un comentario
UNIX – Comando XARGS.
Si por ejemplo queremos que todos los ficheros del directorio /etc que terminen con .conf sean movidos a un directorio especifico (En este ejemplo /backup), utilizaremos xargs con la opción -I, de la siguiente manera: find /etc -iname «*.conf» | … Sigue leyendo
Publicado en Unix - Linux
Deja un comentario
BATCH – Script para sacar la ruta de un ejecutable activo en Windows.
1 2 3 4 5 6 7 8 9 10 11 |
@echo off rem Sacando la ruta de un ejecutable activo. (cd %homedrive%\) :Code (cls) (set /p proceso=Nombre de proceso : ) (if not defined proceso (goto:Code)) for /f "tokens=*" %%x in ('wmic process get executablepath ^| find /i "%proceso%"') do (set ruta=%%x) (echo %ruta%) (pause>nul) (goto:eof) |
Publicado en BATCH - DOS
Deja un comentario
BASH – Script para comprobar ingreso de Dirección IP valida.
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 |
#!/bin/bash # Funcion para validar Direccion IP valida function val_ip() { local ip=$1 local stat=1 if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then OIFS=$IFS IFS='.' ip=($ip) IFS=$OIFS [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]] stat=$? fi return $stat } # Comienzo del programa echo " Ingrese direccion IP a validar : " read dip if val_ip $dip; then echo "IP correcta"; else echo "NO es una IP"; fi |
Publicado en Unix - Linux
Deja un comentario
BASH – Script variable de entorno IFS (Internal Field Separator).
La variable de entorno IFS que significa Internal Field Separator (separador de campos internos), sirve para indicar que valor se usa como separador. Un caso muy útil para la variable IFS que uso con frecuencia es la división de una … Sigue leyendo
Publicado en Unix - Linux
Deja un comentario
BASH – Provocar salto en iteración de bucle.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/bash LIMIT=19 echo echo “Imprime del 1 al 20 (pero salta el 3 y el 11)” a=0 while [ $a -le “$LIMIT” ]; do a=$(($a+1)) if [ “$a” -eq 3 ] || [ “$a” -eq 11 ] then continue fi echo -n “$a -” done |
Publicado en Unix - Linux
Deja un comentario
BATCH – Script para quitar espacios a las variables.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
@ECHO OFF set variable1= Con espacios set variable2= quito los espacios echo Variable 1 = [%variable1%] echo Variable 2 = [%variable2%] echo. REM ======= Para quitar espacios en blanco de la variable ======= set variable1=%variable1: =% set variable2=%variable2: =% echo Variables sin los espacios en blanco echo ==================================== echo. echo Variable 1 = [%variable1%] echo Variable 2 = [%variable2%] pause |
Publicado en BATCH - DOS
3 comentarios
BASH – Evitar CONTROL+C (SIGINT) en ejecución de script.
Al ejecutar este script, cada vez que le das CONTROL+C (SIGINT), aparece el texto, en lugar de salir. Como indica el texto, únicamente ingresando una letra «x» saldrá del script o matando el proceso PID con el comando “kill -9 … Sigue leyendo
Publicado en Unix - Linux
Deja un comentario
BATCH – Script para enviar correos.
SendEmail es un programa que nos permite enviar emails. El utilitario los puedes bajar desde la siguiente dirección URL : http://caspian.dotconf.net/menu/Software/SendEmail/ . El uso de este programa es sencillo, su sintaxis es : -s : servidor de correo. Si quieres … Sigue leyendo
Publicado en BATCH - DOS
4 comentarios
BASH – Servicios APACHE y MYSQL (start-stop-restart).
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 |
#!/bin/bash apsq_start() { echo "Arrancando Apache" /etc/init.d/apache start echo "Arrancando MySQL" /etc/init.d/mysql start } apsq_stop() { echo "Parando Apache" /etc/init.d/apache stop echo "Parando MySQL" /etc/init.d/mysql stop } apsq_restart() { apsq_stop apsq_start } case "$1" in 'start') apsq_start ;; 'stop') apsq_stop ;; 'restart') apsq_stop apsq_start ;; *) echo "Uso: $0 start|stop|restart" esac |
Publicado en Unix - Linux
Deja un comentario
BASH – Paso de parametros sin limite.
Supongamos que no queremos que nos limite los argumento en este simple script, para eso usamos la variable $@, la cual es un array que engloba a todos los argumentos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/bin/bash indice=1 for parametro in $@; do echo "Indice $indice : $parametro" let "indice++" done Si ejecutamos el código anterior pasandole varios parámetros, nos imprimirá todos: bash prueba.sh uno dos tres cuatro cinco seis siete ocho nueve diez once doce Indice 1 : uno Indice 2 : dos Indice 3 : tres Indice 4 : cuatro Indice 5 : cinco Indice 6 : seis Indice 7 : siete Indice 8 : ocho Indice 9 : nueve Indice 10 : diez Indice 11 : once Indice 12 : doce |
Publicado en Unix - Linux
Deja un comentario
BASH – Manejo de indice en arrays.
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 |
#!/bin/bash array[5]="juan" array[13]="roberto" array[77]="julio" array[23]="patricio" array[7]="felipe" array[17]="ignacio" echo "Los indices del \$array son : "${!array[*]} # muestra todos los indices # Imprime todos los indices asociados con sus valores for I in ${!array[*]}; do echo $I: ${array[$I]} done Resultado de la ejecución del script : Los indices del $array son : 5 7 13 17 23 77 5: juan 7: felipe 13: roberto 17: ignacio 23: patricio 77: julio |
Publicado en Unix - Linux
Deja un comentario
Bash – Busqueda de indices en array.
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 |
#!/bin/bash function search_array() { index=0 while [ "$index" -lt "${#myArray[@]}" ]; do if [ "${myArray[$index]}" = "$1" ]; then echo $index return fi let "index++" done echo "" } myArray=(uno dos tres cuatro cinco seis siete ocho nueve diez) value="seis" index=$(search_array $value) if [ -z "$index" ]; then echo -e "El valor \"$value\" no se encuentra en \$myArray" else echo -e "El valor \"$value\" fue encontrado en el indice : $index" fi Resultado de la ejecución del script : El valor "seis" fue encontrado en el indice : 5 |
Publicado en Unix - Linux
Deja un comentario
BASH – Manejo de array.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/bash array=(uno dos tres cuatro cinco seis siete ocho nueve diez) elementos=${#array[@]} indice=0 while [ "$indice" -lt "$elementos" ]; do echo -e "indice: $indice\tvalor: ${array[$indice]}" let "indice++" done Resultado al ejecutar el script : indice: 0 valor: uno indice: 1 valor: dos indice: 2 valor: tres indice: 3 valor: cuatro indice: 4 valor: cinco indice: 5 valor: seis indice: 6 valor: siete indice: 7 valor: ocho indice: 8 valor: nueve indice: 9 valor: diez |
Publicado en Unix - Linux
Deja un comentario
BATCH – Menu en batch.
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 |
@echo off color 0f mode con cols=50 mode con lines=15 :a1 cls echo Bienvenido, escoga la opcion: echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º 1.-Google º echo º 2.-You Tube º echo º 3.-Facebook º echo º 4.-Terra º echo º 5.-Hotmail º echo º 6.-Salir º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. set /p num=Escribe un numero[1,2,3,4,5,6]: if not defined num goto a1 if %num%==1 start www.google.cl if %num%==2 start www.youtube.com if %num%==3 start www.facebook.com if %num%==4 start www.terra.cl if %num%==5 start www.hotmail.com if %num%==6 exit goto a1 pause>nul exit |
Publicado en BATCH - DOS
Deja un comentario
BASH – Verifica directorio y muestra contenido recursivo.
Recibir un nombre de directorio, validar existencia y condición de directorio y mostrar nombres de todos los directorios y subdirectorios bajo él, en formato de página largo 23.
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/bin/bash # esdir.sh: verifica directorio y muestra contenido recursivo clear if [ -d $1 ] then echo Directorios bajo $1 echo "Digite Enter para continuar"; read; clear ls -lR $1 2>/dev/null | grep '^d' | pr -l24 | more -24 # el valor 24 en more es para visualizar en pantalla else echo No existe el directorio $1 fi |
Publicado en Unix - Linux
Deja un comentario
BASH – Validar archivos pasados como parametros.
Recibir varios nombres de archivo como parámetros, y para cada uno validar si el nombre corresponde a un archivo común existente, y si es así mostrarlo en pantalla paginando.
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/bash # mostrarchs.sh: muestra contenido de varios archivos for VAR in $* do if [ -f $VAR ] then more $VAR else echo No existe $VAR fi done |
Publicado en Unix - Linux
Deja un comentario
BASH – Uso de colores en los SCRIPTS.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#!/bin/bash cyan="\E[1;36m\E[1m" normal="\E[m" blue="\E[34m\E[1m" violet="\E[35m\E[1m" red="\E[31m\E[1m" yellow="\E[33m\E[1m" green="\E[37m\E[32m\E[1m" text="\E[1;37m\E[1m" echo -e $cyan"Color cyan" echo -e $blue"Color blue" echo -e $violet"Color violet" echo -e $red"Color red" echo -e $yellow"Color yellow" echo -e $green"Color green" echo -e $text"Color text" echo -e $normal"Color normal" exit |
Publicado en Unix - Linux
Deja un comentario
BASH – Juego de dados.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#!/bin/bash # Si la tirada de dados suman 7 ganas otro="s" while [ $otro == "s" ] do x=$((RANDOM%6)) # Saca un numero de 0 al 5 y=$((RANDOM%6)) # Saca un numero de 0 al 5 x=`expr $x + 1` # Le suma 1 para convertirlo de 1 a 6 y=`expr $y + 1` # Le suma 1 para convertirlo de 1 a 6 echo Dado1: $x echo Dado2: $y suma=`expr $x + $y` echo "suma = $suma" if [ $suma -eq 7 ]; then echo "FANTASTICO : LA SUMA ES 7 --> GANASTE" else echo "NO ES 7" fi echo Quieres otra tirada s,n read otro done |
Publicado en Unix - Linux
2 comentarios