|
| 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