vault backup: 2025-12-11 01:42:15

This commit is contained in:
2025-12-11 01:42:15 +01:00
parent 8d2c3cdc66
commit 717066ff88
5 changed files with 165 additions and 93 deletions

View File

@@ -60,6 +60,6 @@
"repelStrength": 10, "repelStrength": 10,
"linkStrength": 1, "linkStrength": 1,
"linkDistance": 250, "linkDistance": 250,
"scale": 0.19753086419753046, "scale": 0.2962962962962957,
"close": true "close": true
} }

View File

@@ -13,54 +13,12 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "Documentación personal/Mecanica de Unix/Mecánica Unix - Manejo de la shell.md", "file": "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Extra.md",
"mode": "source", "mode": "preview",
"source": false "source": false
}, },
"icon": "lucide-file", "icon": "lucide-file",
"title": "Mecánica Unix - Manejo de la shell" "title": "Extra"
}
},
{
"id": "64d234a80b79e625",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "BDD/SQL/Lenguaje de Manupulación de Datos (DML).md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Lenguaje de Manupulación de Datos (DML)"
}
},
{
"id": "407b94c3d0a283b0",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "BDD/SQL/Importación y exportación de base de datos.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Importación y exportación de base de datos"
}
},
{
"id": "7ff5d9bb1eecd3e1",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Arrays asociativos.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Arrays asociativos"
} }
} }
] ]
@@ -209,12 +167,12 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Funciones puras.md", "file": "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Extra.md",
"linksCollapsed": false, "linksCollapsed": false,
"unlinkedCollapsed": true "unlinkedCollapsed": true
}, },
"icon": "links-going-out", "icon": "links-going-out",
"title": "Enlaces salientes de Funciones puras" "title": "Enlaces salientes de Extra"
} }
}, },
{ {
@@ -264,29 +222,31 @@
}, },
"active": "e615f9321ff830be", "active": "e615f9321ff830be",
"lastOpenFiles": [ "lastOpenFiles": [
"Documentación personal/Mecanica de Unix/Mecánica Unix - Manejo de la shell.md", "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Extra.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Procesos hijos y paralelismo.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Señales.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/Ejercicios - Funciones puras.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Funciones puras.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Arrays asociativos.md", "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Arrays asociativos.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Expansión de parámetros.md", "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Expansión de parámetros.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Extra.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Patrones de diseño en Bash.md", "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Patrones de diseño en Bash.md",
"Documentación personal/Mecanica de Unix/Sin nombre", "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Seguridad en scripts.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Subshells.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Trampas (traps).md",
"README.md",
"BDD/SQL/SQL.md",
"Documentación personal/Mecanica de Unix/Mecánica Unix - Manejo de la shell.md",
"BDD/SQL/Importación y exportación de base de datos.md", "BDD/SQL/Importación y exportación de base de datos.md",
"BDD/SQL/Lenguaje de Manupulación de Datos (DML).md",
"Documentación personal/Mecanica de Unix/Sin nombre",
"BDD/SQL/Lenguaje de definición de datos (DDL).md", "BDD/SQL/Lenguaje de definición de datos (DDL).md",
"BDD/SQL/Diario/Clase 4 de diciembre.md", "BDD/SQL/Diario/Clase 4 de diciembre.md",
"BDD/SQL/Sintaxis (Keywords).md", "BDD/SQL/Sintaxis (Keywords).md",
"BDD/SQL/Tipos de datos.md", "BDD/SQL/Tipos de datos.md",
"BDD/SQL/Procedimientos almacenados.md", "BDD/SQL/Procedimientos almacenados.md",
"BDD/SQL/Lenguaje de Manupulación de Datos (DML).md",
"Documentación personal/Mecanica de Unix/2. awk-sed-grep/Parsing avanzado de logs.md", "Documentación personal/Mecanica de Unix/2. awk-sed-grep/Parsing avanzado de logs.md",
"BDD/SQL/SQL.md",
"Servidores/M5/Actividades/RA2/M5RA2P1.md", "Servidores/M5/Actividades/RA2/M5RA2P1.md",
"README.md",
"Servidores/M5/M5 - ASIX.md", "Servidores/M5/M5 - ASIX.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/Ejercicios - Funciones puras.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Funciones puras.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Procesos hijos y paralelismo.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Seguridad en scripts.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Señales.md",
"conflict-files-obsidian-git.md", "conflict-files-obsidian-git.md",
"Servidores/M5/Actividades", "Servidores/M5/Actividades",
"Servidores/M5/Actividades/RA2", "Servidores/M5/Actividades/RA2",
@@ -294,8 +254,6 @@
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/calculadora_modular.sh", "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/calculadora_modular.sh",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios", "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras", "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Subshells.md",
"Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Trampas (traps).md",
"Documentación personal/Mecanica de Unix/2. awk-sed-grep", "Documentación personal/Mecanica de Unix/2. awk-sed-grep",
"Sin título.base", "Sin título.base",
"Documentación personal/Mecanica de Unix/Bash Scripting/Sin nombre", "Documentación personal/Mecanica de Unix/Bash Scripting/Sin nombre",

View File

@@ -2,3 +2,40 @@
Proveniente de [[Mecánica Unix - Manejo de la shell]] Proveniente de [[Mecánica Unix - Manejo de la shell]]
--- ---
## Control de flujo
---
### Condicionales `if`, `elif`, `else` y `fi`
```Shell
if [[ "$num" -gt 10 ]]; then
echo "Mayor que 10"
elif [[ "$num" -eq 10 ]]; then
echo "Es 10"
else
echo "Es menor que 10"
fi
```
---
### `[[ . . . ]]`
```Shell
if [[ "$x" == "hola" && -n "$x" ]]; then
echo "coincide"
fi
```
---
### `!` (negación)
``` Shell
if ! grep -q "hola" archivos.txt; then
echo "no existe hola"
fi
```

View File

@@ -6,7 +6,66 @@ Proveniente de [[Funciones puras]]
# 1. Calculadora modular # 1. Calculadora modular
Objetivo: Separación de lógica (pura) del I/O (impuro). Objetivo: Separación de lógica (pura) del I/O (impuro).
```Shell
#!/bin/bash
#Funciones Puras
suma() {
local num1=$1
local num2=$2
echo $(( $num1 + $num2 ))
}
resta() {
local num1=$1
local num2=$2
echo $(( $num1 - $num2 ))
}
Bibliografia Web: multiplicacion() {
local num1=$1
local num2=$2
echo $(( $num1 * $num2 ))
}
division() {
local num1=$1
local num2=$2
if [[ "$num2" -eq 0 ]]; then
echo "ERROR_DIV_0"
return 1
fi
echo $(( $num1 / $num2 ))
}
#Menu
echo "Opciones posibles:"
echo "1. Sumar"
echo "2. Restar"
echo "3. Multiplicacion"
echo "4. Division"
read input
read -p "Introduce el primer numero: " a
read -p "Introduce el segundo numero: " b
case $input in
1) resultado=$(suma "$a" "$b");;
2) resultado=$(resta "$a" "$b");;
3) resultado=$(multiplicacion "$a" "$b");;
4) resultado=$(division "$a" "$b")
if [[ $b -eq 0 ]]; then
echo "No se puede dividir entre 0"
exit 1
fi;;
*)
echo "no valido"
exit 1;;
esac
echo "Resultado = $resultado"
```
Bibliografía Web:
- [Manejo de errores en Bash Scripting](https://adictosalinux.com/manejo-errores-scripts-bash/) - [Manejo de errores en Bash Scripting](https://adictosalinux.com/manejo-errores-scripts-bash/)
- [Comparator operators](https://www.tutorialkart.com/bash-shell-scripting/bash-comparison-operators/)
- [Funciones Bash](https://itsfoss.com/es/funciones-bash/)

View File

@@ -1,44 +1,62 @@
#!/bin/bash #!/bin/bash
#Funciones Puras
suma() {
local num1=$1
local num2=$2
echo $(( $num1 + $num2))
}
resta() {
local num1=$1
local num2=$2
echo $(( $num1 - $num2))
}
multiplicacion() {
local num1=$1
local num2=$2
echo $(( $num1 * $num2))
}
division() {
local num1=$1
local num2=$2
if [[ "$num2" -eq 0 ]]; then
echo "ERROR_DIV_0"
return 1
fi
echo $(( $num1 / $num2))
}
# Menu
echo "Opciones posibles:" echo "Opciones posibles:"
echo "1. Sumar" echo "1. Sumar"
echo "2. Restar" echo "2. Restar"
echo "3. Multiplicacion" echo "3. Multiplicacion"
echo "4. Division" echo "4. Division"
read input read input
read -p "Introduce el primer numero: " a
read -p "Introduce el segundo numero: " b
case $input in case $input in
1) $suma;; 1) resultado=$(suma "$a" "$b");;
2) $resta;; 2) resultado=$(resta "$a" "$b");;
3) $multiplicacion;; 3) resultado=$(multiplicacion "$a" "$b");;
4) $division;; 4) resultado=$(division "$a" "$b")
if [[ $b -eq 0 ]]; then
echo "No se puede dividir entre 0"
exit 1
fi
;;
*)
echo "no valido"
exit 1;;
esac esac
echo "Resultado = $resultado"
suma() {
local num1=$1
local num2=$2
echo $(( $1 + $2))
}
resta() {
local num1=$1
local num2=$2
echo $(( $1 - $2))
}
multiplicacion() {
local num1=$1
local num2=$2
echo $(( $1 * $2))
}
division() {
local num1=$1
local num2=$2
if [[ "$2" -eq 0 ]]; then
echo "ERROR_DIV_0"
return 1
fi
echo $(( $1 / $2))
}