diff --git a/.obsidian/graph.json b/.obsidian/graph.json index e2e6404..4c813da 100644 --- a/.obsidian/graph.json +++ b/.obsidian/graph.json @@ -34,6 +34,13 @@ "a": 1, "rgb": 5431378 } + }, + { + "query": "file:\"README.md\"", + "color": { + "a": 1, + "rgb": 5431473 + } } ], "collapse-display": true, diff --git a/.obsidian/plugins/languagetool/data.json b/.obsidian/plugins/languagetool/data.json index 9a203c1..ccb2293 100644 --- a/.obsidian/plugins/languagetool/data.json +++ b/.obsidian/plugins/languagetool/data.json @@ -9,11 +9,10 @@ "ca": "ca-ES" }, "dictionary": [ - "Git", "bash", - "subshells", - "subshells", - "Bash" + "Bash", + "Git", + "subshells" ], "syncDictionary": false, "remoteDictionary": [], diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index e7ede98..fd9b891 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -4,21 +4,41 @@ "type": "split", "children": [ { - "id": "08e268613800bbe0", + "id": "ff8c33205872ddb4", "type": "tabs", "children": [ { - "id": "ad0b933ded8362ff", + "id": "12abf23e5d2d15dd", "type": "leaf", "state": { "type": "markdown", "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/Funciones puras/Ejercicios/Ejercicios - Funciones puras.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "Mecánica Unix - Manejo de la shell" + "title": "Ejercicios - Funciones puras" + } + } + ] + }, + { + "id": "e6733ee149dcba62", + "type": "tabs", + "children": [ + { + "id": "cf699ca90183da60", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Funciones puras.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "Funciones puras" } } ] @@ -78,7 +98,8 @@ } ], "direction": "horizontal", - "width": 317.5 + "width": 317.5, + "collapsed": true }, "right": { "id": "519d5773673c1040", @@ -94,7 +115,7 @@ "state": { "type": "backlink", "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/Funciones puras.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -104,7 +125,7 @@ "unlinkedCollapsed": true }, "icon": "links-coming-in", - "title": "Enlaces entrantes de Mecánica Unix - Manejo de la shell" + "title": "Enlaces entrantes de Funciones puras" } }, { @@ -142,13 +163,13 @@ "state": { "type": "outline", "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/Funciones puras/Funciones puras.md", "followCursor": false, "showSearch": false, "searchQuery": "" }, "icon": "lucide-list", - "title": "Esquema de Mecánica Unix - Manejo de la shell" + "title": "Esquema de Funciones puras" } }, { @@ -160,18 +181,58 @@ "icon": "git-pull-request", "title": "Source Control" } + }, + { + "id": "a756131edcc6e184", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "file": "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Funciones puras.md", + "linksCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-going-out", + "title": "Enlaces salientes de Funciones puras" + } + }, + { + "id": "ad0b933ded8362ff", + "type": "leaf", + "state": { + "type": "graph", + "state": {}, + "icon": "lucide-git-fork", + "title": "Vista gráfica" + } } ], "currentTab": 4 + }, + { + "id": "7ac2f57f0d4937ed", + "type": "tabs", + "children": [ + { + "id": "f3844ce27366e01c", + "type": "leaf", + "state": { + "type": "oz-calendar", + "state": {}, + "icon": "OZCAL_ICON", + "title": "OZ Calendar" + } + } + ] } ], "direction": "horizontal", - "width": 200 + "width": 809.5 }, "left-ribbon": { "hiddenItems": { - "switcher:Abrir selector rápido": false, "graph:Abrir vista gráfica": false, + "switcher:Abrir selector rápido": false, "canvas:Crear nuevo lienzo": false, "daily-notes:Abrir la nota de hoy": false, "templates:Insertar plantilla": false, @@ -180,28 +241,33 @@ "obsidian-git:Open Git source control": false } }, - "active": "ad0b933ded8362ff", + "active": "e615f9321ff830be", "lastOpenFiles": [ + "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/Funciones puras/Ejercicios/Ejercicios - Funciones puras.md", + "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", "Documentación personal/Mecanica de Unix/Mecánica Unix - Manejo de la shell.md", + "README.md", + "Sin título.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/Patrones de diseño en Bash.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", + "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/1. Bash Scripting Avanzado/Arrays asociativos.md", "Documentación personal/Mecanica de Unix/2. awk-sed-grep/Manipulación de CSV, JSON simplificado, logs de sistemas.md", "Documentación personal/Mecanica de Unix/2. awk-sed-grep/Creación de mini-lenguajes personalizados.md", "Documentación personal/Mecanica de Unix/2. awk-sed-grep/Reescritura de texto.md", "Documentación personal/Mecanica de Unix/2. awk-sed-grep/Extracción de datos estructurados.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", - "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/Seguridad en scripts.md", - "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Arrays asociativos.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/Subshells.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/Señales.md", - "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Trampas (traps).md", - "Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras.md", "Sin título.base", "2025-12-08.md", "Documentación personal/Mecanica de Unix/Bash Scripting/Fundamentos de Bash.md", - "README.md", "Documentación personal/Mecanica de Unix/Bash Scripting/Sin nombre", "Documentación personal/Lenguajes de programación absurdos", "BDD/SQL/Importación y exportación de base de datos.md", @@ -213,12 +279,6 @@ "BDD/SQL/Lenguaje de definición de datos (DDL).md", "Documentación personal/Seguridad-Informatica/Vista General 1.canvas", "Documentación personal/Seguridad-Informatica/desktop.ini", - "Documentación personal/Seguridad-Informatica/Tipos de ataque/Worm/Metodos/desktop.ini", - "Documentación personal/Seguridad-Informatica/Tipos de ataque/Virus/Tipos de virus/desktop.ini", - "Documentación personal/Seguridad-Informatica/Tipos de ataque/Virus/Tipos de virus/Stuxnet.md", - "Documentación personal/Seguridad-Informatica/Tipos de ataque/Virus/Metodos/desktop.ini", - "Documentación personal/Seguridad-Informatica/Tipos de ataque/XSS/Cross-Site Scripting (XSS).md", - "Documentación personal/Seguridad-Informatica/Tipos de ataque/Worm/Gusano.md", "Documentación personal/Seguridad-Informatica/1_Imagenes/tools/software/specops.svg", "Documentación personal/Seguridad-Informatica/1_Imagenes/tools/software/satan.png", "Documentación personal/Seguridad-Informatica/1_Imagenes/tools/software/nessuslogo.png", diff --git a/Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/Ejercicios - Funciones puras.md b/Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/Ejercicios - Funciones puras.md new file mode 100644 index 0000000..0484dd4 --- /dev/null +++ b/Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/Ejercicios - Funciones puras.md @@ -0,0 +1,11 @@ +#Temario-BSA - Bash Scripting Avanzado +Proveniente de [[Funciones puras]] + +--- + +# 1. Calculadora modular +Objetivo: Separación de lógica (pura) del I/O (impuro). + +Bibliografia Web: +- [Manejo de errores en Bash Scripting](https://adictosalinux.com/manejo-errores-scripts-bash/) +- \ No newline at end of file diff --git a/Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/calculadora_modular.sh b/Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/calculadora_modular.sh new file mode 100755 index 0000000..1d0a5c1 --- /dev/null +++ b/Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Ejercicios/calculadora_modular.sh @@ -0,0 +1,32 @@ +#!/bin/bash +suma() { + local num1=$1 + local num2=$2 + local resultado=$(( $num1 + $num2)) + echo $(( $1 + $2)) +} + +resta() { + local num1=$1 + local num2=$2 + local resultado=$(( $num1 - $num2)) + echo $(( $1 - $2)) +} + +multiplicacion() { + local num1=$1 + local num2=$2 + local resultado=$(( $num1 * $num2)) + 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)) +} \ No newline at end of file diff --git a/Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras.md b/Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Funciones puras.md similarity index 100% rename from Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras.md rename to Documentación personal/Mecanica de Unix/1. Bash Scripting Avanzado/Funciones puras/Funciones puras.md