¿Te ha servido este sitio alguna vez? Cada script, cada línea de ayuda aquí es fruto de horas de trabajo y pasión por compartir. Si alguna vez resolviste un problema gracias a esta página, considera hacer una donación. Tu aporte —por pequeño que sea— mantiene vivo este proyecto y me impulsa a seguir creando.
Gracias por creer en el conocimiento libre.
Comentarios recientes
- Claudio en BASH – Script para ver tiempo que demora ejecución de proceso.
- Gonzalo Reiser A. en BASH- Plugin NAGIOS para monitorear procesos.
- jesse en BASH- Plugin NAGIOS para monitorear procesos.
- Sebastian en LINUX – Conexión sin clave, Relación de confianza, conectarse vía SSH, ejecutar comando remotos sin clave.
- Gonzalo Reiser A. en BASH – Script MENU en colores (Sencillo).
Archivos
- junio 2026 (1)
- abril 2026 (1)
- noviembre 2025 (1)
- octubre 2025 (1)
- septiembre 2025 (1)
- agosto 2025 (3)
- julio 2025 (1)
- mayo 2025 (2)
- abril 2025 (4)
- marzo 2025 (1)
- febrero 2025 (1)
- enero 2025 (15)
- diciembre 2024 (1)
- noviembre 2024 (2)
- agosto 2024 (1)
- julio 2024 (12)
- enero 2024 (10)
- 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 del Autor: Gonzalo Reiser A.
BASH – Script para obtener el directorio de ejecución del script BASH.-
Esto es muy útil, pues cuando haces un programa y lo ejecutas a mano controlas estos “parámetros” como son quien lo ejecuta y desde donde, pero cuando ese mismo script lo automatizas por ejemplo en un cron estas variables (quien … Sigue leyendo
Publicado en Unix - Linux
1 comentario
BASH – Script Lectura con timeout.-
Para quedar a la espera de que el usuario introduzca el dato que se le solicita durante un tiempo limitado, el comando read dispone del modificador “-t”, que permite especificar el número máximo de segundos antes de que el script … Sigue leyendo
Publicado en Unix - Linux
Deja un comentario
BASH – Eliminar espacios en blanco sobrantes de una variable. (Espacios adelante y atras)
Eliminar los espacios por delante y por detrás, pero no por dentro, directamente dentro del script Bash, el código resultante es un poco confuso:
|
1 2 3 4 5 6 |
#!/bin/bash var=" prueba prueba prueba " echo "\"$var\"" var="${var#"${var%%[![:space:]]*}"}" # elimina los espacios por delante var="${var%"${var##*[![:space:]]}"}" # elimina los espacios por detras echo "\"$var\"" |
Al ejecutar este script el resultado que nos mostrara sera el siguiente :
|
1 2 |
" prueba prueba prueba " "prueba prueba prueba" |
Publicado en Unix - Linux
Deja un comentario
BASH – Cómo comprobar si un array de bash contiene un elemento.-
Lamentablemente no existe ninguna manera sencilla de hacerlo, pero sí que puedes utilizar la siguiente función:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
function contiene() { local n=$# local value=${!n} for ((i=1;i < $#;i++)) { if [ "${!i}" == "${value}" ]; then echo "y" return 0 fi } echo "n" return 1 } |
Y así es como podrías utilizarlo:
|
1 2 3 4 5 6 7 8 9 10 11 |
# definimos un array con tres elementos A=("one" "two" "three four") # comprobar si el array contiene los elementos if [ $(contiene "${A[@]}" "one") == "y" ]; then echo "contiene el elemento 'one'" fi if [ $(contiene "${A[@]}" "three") == "y" ]; then echo "contiene el elemento 'three'" fi |
Publicado en Unix - Linux
Deja un comentario
BASH – Manejo de cadenas de texto.
A veces se encuentran ciertas limitaciones a la hora de escribir scripts de shell en el manejo de cadenas y es que, muchas veces, nos olvidamos de que bash tiene un montón de operaciones sobre strings. Por ejemplo:
|
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 |
# Cadena de ejemplo: string=123.abc.456.ABC.123 # Ver la longitud de la cadena $ echo ${#string} 19 # Extraer subcadena desde una posicion $ echo ${string:4} abc.456.ABC.123 # Extraer subcadena de longitud determinada # desde una posicion $ echo ${string:4:7} abc.456 # Eliminar la cadena coincidente del principio de la cadena $ echo ${string#123} .abc.456.ABC.123 # Eliminar la cadena coincidente del final de la cadena $ echo ${string%123} 123.abc.456.ABC. # Reemplazar la primera aparación de una subcadena en la cadena $ echo ${string/123/QWE} QWE.abc.456.ABC.123 # Reemplazar todas las apariciones de una subcadena en la cadena $ echo ${string//123/QWE} QWE.abc.456.ABC.QWE # Reemplazar si hay coincidencia al pricipio o al final de la cadena: $ echo ${string/#123/QWE} QWE.abc.456.ABC.123 $ echo ${string/%123/QWE} 123.abc.456.ABC.QWE # Longitud de la coincidencia al principio de la cadena (dos formas) $ expr match "$string" '123' 3 $ expr "$string" : '123' 3 |
Otra … Sigue leyendo
Publicado en Unix - Linux
4 comentarios