|  | 
|  | 1 | +# Variables de bash | 
|  | 2 | + | 
|  | 3 | +Como en cualquier otro lenguaje de programación, también puedes utilizar variables en Bash Scripting. Sin embargo, no existen tipos de datos y una variable en Bash puede contener tanto números como caracteres. | 
|  | 4 | + | 
|  | 5 | +Para asignar un valor a una variable, todo lo que necesitas hacer es usar el signo `=`: | 
|  | 6 | + | 
|  | 7 | +```golpecito | 
|  | 8 | +nombre="DevDojo" | 
|  | 9 | +``` | 
|  | 10 | + | 
|  | 11 | +>{aviso} como nota importante, no puede tener espacios antes y después del signo `=`. | 
|  | 12 | +
 | 
|  | 13 | +Después de eso, para acceder a la variable, debe usar `$` y hacer referencia a ella como se muestra a continuación: | 
|  | 14 | + | 
|  | 15 | +```golpecito | 
|  | 16 | +eco $ nombre | 
|  | 17 | +``` | 
|  | 18 | + | 
|  | 19 | +No es necesario colocar el nombre de la variable entre llaves, pero se considera una buena práctica y le recomendaría que las utilice siempre que pueda: | 
|  | 20 | + | 
|  | 21 | +```golpecito | 
|  | 22 | +eco ${nombre} | 
|  | 23 | +``` | 
|  | 24 | + | 
|  | 25 | +El código anterior generaría: `DevDojo` ya que este es el valor de nuestra variable `name`. | 
|  | 26 | + | 
|  | 27 | +A continuación, actualicemos nuestro script `devdojo.sh` e incluyamos una variable en él. | 
|  | 28 | + | 
|  | 29 | +Nuevamente, puedes abrir el archivo `devdojo.sh` con tu editor de texto favorito, aquí estoy usando nano para abrir el archivo: | 
|  | 30 | + | 
|  | 31 | +```golpecito | 
|  | 32 | +nano devdojo.sh | 
|  | 33 | +``` | 
|  | 34 | + | 
|  | 35 | +Agregando nuestra variable `nombre` aquí en el archivo, con un mensaje de bienvenida. Nuestro archivo ahora se ve así: | 
|  | 36 | + | 
|  | 37 | +```golpecito | 
|  | 38 | +#!/bin/bash | 
|  | 39 | +
 | 
|  | 40 | +nombre="DevDojo" | 
|  | 41 | +
 | 
|  | 42 | +echo "Hola $nombre" | 
|  | 43 | +``` | 
|  | 44 | + | 
|  | 45 | +Guárdelo y ejecute el archivo usando el siguiente comando: | 
|  | 46 | + | 
|  | 47 | +```golpecito | 
|  | 48 | +./devdojo.sh | 
|  | 49 | +``` | 
|  | 50 | + | 
|  | 51 | +Verá el siguiente resultado en su pantalla: | 
|  | 52 | + | 
|  | 53 | +```golpecito | 
|  | 54 | +Hola DevDojo | 
|  | 55 | +``` | 
|  | 56 | + | 
|  | 57 | +Aquí hay un resumen del script escrito en el archivo: | 
|  | 58 | + | 
|  | 59 | +* `#!/bin/bash` - Al principio, especificamos nuestro shebang. | 
|  | 60 | +* `name=DevDojo` - Luego, definimos una variable llamada `name` y le asignamos un valor. | 
|  | 61 | +* `echo "Hola $name"` - Finalmente, mostramos el contenido de la variable en la pantalla como mensaje de bienvenida usando `echo` | 
|  | 62 | + | 
|  | 63 | +También puede agregar múltiples variables en el archivo como se muestra a continuación: | 
|  | 64 | + | 
|  | 65 | +```golpecito | 
|  | 66 | +#!/bin/bash | 
|  | 67 | +
 | 
|  | 68 | +nombre="DevDojo" | 
|  | 69 | +saludo="Hola" | 
|  | 70 | +
 | 
|  | 71 | +echo "$saludo $nombre" | 
|  | 72 | +``` | 
|  | 73 | + | 
|  | 74 | +Guarde el archivo y ejecútelo nuevamente: | 
|  | 75 | + | 
|  | 76 | +```golpecito | 
|  | 77 | +./devdojo.sh | 
|  | 78 | +``` | 
|  | 79 | + | 
|  | 80 | +Verá el siguiente resultado en su pantalla: | 
|  | 81 | + | 
|  | 82 | +```golpecito | 
|  | 83 | +Hola DevDojo | 
|  | 84 | +``` | 
|  | 85 | +Tenga en cuenta que no es necesario agregar punto y coma `;` al final de cada línea. Funciona en ambos sentidos, ¡un poco como otros lenguajes de programación como JavaScript! | 
|  | 86 | + | 
|  | 87 | + | 
|  | 88 | +También puede agregar variables en la línea de comando fuera del script Bash y pueden leerse como parámetros: | 
|  | 89 | + | 
|  | 90 | +```golpecito | 
|  | 91 | +./devdojo.sh ¡Bobby amigo! | 
|  | 92 | +``` | 
|  | 93 | +Este script toma dos parámetros `Bobby` y `buddy!` separados por espacios. En el archivo `devdojo.sh` tenemos lo siguiente: | 
|  | 94 | + | 
|  | 95 | +```golpecito | 
|  | 96 | +#!/bin/bash | 
|  | 97 | +
 | 
|  | 98 | +echo "Hola" $1 | 
|  | 99 | +
 | 
|  | 100 | +``` | 
|  | 101 | +`$1` es la primera entrada (`Bobby`) en la línea de comando. De manera similar, podría haber más entradas y todas ellas están referenciadas por el signo `$` y su respectivo orden de entrada. Esto significa que se hace referencia a `buddy!` usando `$2`. Otro método útil para leer variables es `$@` que lee todas las entradas. | 
|  | 102 | + | 
|  | 103 | +Ahora cambiemos el archivo `devdojo.sh` para comprenderlo mejor: | 
|  | 104 | + | 
|  | 105 | +```golpecito | 
|  | 106 | +#!/bin/bash | 
|  | 107 | +
 | 
|  | 108 | +echo "Hola" $1 | 
|  | 109 | +
 | 
|  | 110 | +# $1: primer parámetro | 
|  | 111 | +
 | 
|  | 112 | +echo "Hola" $2 | 
|  | 113 | +
 | 
|  | 114 | +# $2: segundo parámetro | 
|  | 115 | +
 | 
|  | 116 | +echo "Hola" $@ | 
|  | 117 | +
 | 
|  | 118 | +#$@: todos | 
|  | 119 | +``` | 
|  | 120 | +La salida para: | 
|  | 121 | + | 
|  | 122 | +```golpecito | 
|  | 123 | +./devdojo.sh ¡Bobby amigo! | 
|  | 124 | +``` | 
|  | 125 | +Seria el siguiente: | 
|  | 126 | + | 
|  | 127 | +```golpecito | 
|  | 128 | +Hola bobby | 
|  | 129 | +¡Hola amigo! | 
|  | 130 | +¡Hola amigo Bobby! | 
|  | 131 | +``` | 
0 commit comments