Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Próxima revisiónAmbos lados, revisión siguiente | ||
tutorial_de_programacion_en_bash [2023/02/27 17:39] – peron | tutorial_de_programacion_en_bash [2023/04/07 01:40] – [Funciones] peron | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
=====Tutorial de Programación en Bash===== | =====Tutorial de Programación en Bash===== | ||
- | Además de ser un [[interpretes de comandos|intérprete de comandos]], [[Bash]] también consiste en un //lenguaje de comandos interpretado// | + | [[Bash]] es una [[interpretes de comandos|shell]], que además cuenta con un //lenguaje de comandos interpretado// |
Si has completado [[lenguaje_del_interprete_de_comandos|el primer Tutorial del lenguaje de intérprete de comandos]], sin dudas este tutorial te enseñará algunas de sus características más avanzadas de Bash. | Si has completado [[lenguaje_del_interprete_de_comandos|el primer Tutorial del lenguaje de intérprete de comandos]], sin dudas este tutorial te enseñará algunas de sus características más avanzadas de Bash. | ||
Línea 43: | Línea 43: | ||
<code bash> | <code bash> | ||
- | $ env | + | env |
</ | </ | ||
- | Generalmente se suele definir estas variables en mayñusculas, por ejemplo: '' | + | Generalmente se suele definir estas variables en mayúsculas, por ejemplo: '' |
==== Citas ==== | ==== Citas ==== | ||
Línea 54: | Línea 54: | ||
===Cita con cadena=== | ===Cita con cadena=== | ||
- | No existe diferencia al utilizar | + | No existe diferencia al utilizar |
- | El siguiente | + | El siguiente |
<code bash> | <code bash> | ||
# | # | ||
- | echo ' | + | echo ' |
- | echo " | + | echo " |
- | mkdir 'Dir 1' | + | mkdir 'Directorio |
- | mkdir "Dir 2" | + | mkdir "Directorio |
</ | </ | ||
Línea 72: | Línea 72: | ||
Recuerda que las expansión de variables de Bash __únicamente operará con las comillas__. Si defines cualquier variable en comillas simples, ¡no funcionarán! | Recuerda que las expansión de variables de Bash __únicamente operará con las comillas__. Si defines cualquier variable en comillas simples, ¡no funcionarán! | ||
- | Ejecuta el siguiente | + | Ejecuta el siguiente |
<code bash> | <code bash> | ||
Línea 85: | Línea 85: | ||
====Depuración en Bash ==== | ====Depuración en Bash ==== | ||
- | El guionado de Bash provee una funcionalidad de depuración durante el tiempo de ejecución. Emplea el comando '' | + | El guionado de Bash provee una funcionalidad de depuración durante el tiempo de ejecución. Emplea el comando '' |
===Depurado durante la ejecución=== | ===Depurado durante la ejecución=== | ||
Línea 97: | Línea 97: | ||
===Depurado de un guión=== | ===Depurado de un guión=== | ||
- | Si deseas activar la depuración __dentro del mismo guión__, podrás depurar cierta parte del guión. | + | Si deseas activar la depuración __dentro del mismo guion__, podrás depurar cierta parte del guion. |
<code bash> | <code bash> | ||
Línea 133: | Línea 133: | ||
====Código de Salida==== | ====Código de Salida==== | ||
- | Un //código de salida// en Bash es un valor en código que representa el resultado de la ejecución apropiada de un programa, representado por un valor entre 0 y 255. Tal número denota el status de salida del último comando introducido, | + | Un //código de salida// en Bash es un valor en código que representa el resultado de la ejecución apropiada de un programa, representado por un valor entre 0 y 255. Tal número denota el status de salida del último comando introducido, |
| '' | | '' | ||
Línea 204: | Línea 204: | ||
</ | </ | ||
- | ==== Operaciones aritméticas | + | ==== Operadores |
- | Utiliza | + | Los [[operadores en unix]] permiten realizar distinto tipo de operaciones en la shell. Bash cuenta con los mismos operadores, y extiende su utilización, |
+ | |||
+ | A continuación encontrarás ejemplos de su uso en Bash. | ||
+ | |||
+ | |||
+ | ===Operadores aritméticos ==== | ||
+ | En Bash podrás encerrar | ||
<code bash> | <code bash> | ||
Línea 215: | Línea 221: | ||
</ | </ | ||
- | ===Ejemplo de operadores aritméticos=== | + | ==Ejemplo de operadores aritméticos== |
Este guion permite ingresar dos valores numéricos para realizar las cinco operaciones básicas: | Este guion permite ingresar dos valores numéricos para realizar las cinco operaciones básicas: | ||
Línea 229: | Línea 235: | ||
echo "La División de $n1 / $n2 es = " $((n1/n2)) | echo "La División de $n1 / $n2 es = " $((n1/n2)) | ||
echo "La Multiplicación de $n1 * $n2 es = " $((n1*n2)) | echo "La Multiplicación de $n1 * $n2 es = " $((n1*n2)) | ||
- | echo " | + | echo " |
</ | </ | ||
Línea 238: | Línea 244: | ||
if [ " | if [ " | ||
if [ " | if [ " | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===Operadores de comparación numérica=== | ||
+ | |||
+ | Como en todos los shells de tipo Unix, en Bash podrás utilizar operadores de comparación numérica. | ||
+ | |||
+ | <code bash> | ||
+ | ((n1 == n2)) ## n1 es igual a n2 | ||
+ | ((n1 != n2)) ## n1 es no igual a n2 | ||
+ | ((n1 > n2)) ## n1 es mayor a n2 | ||
+ | ((n1 >= n2)) ## n1 es mayor o igual a n2 | ||
+ | ((n1 < n2)) ## n1 es menor a n2 | ||
+ | ((n1 <= n2)) ## n1 es menor o igual a n2 | ||
</ | </ | ||
Línea 254: | Línea 274: | ||
</ | </ | ||
- | En forma similar, puedes utilizar operadores de pre-decremento y post-decremento. | + | En forma similar, puedes utilizar |
<code bash> | <code bash> | ||
Línea 264: | Línea 284: | ||
$ variable=10 | $ variable=10 | ||
$ echo $((--variable)) | $ echo $((--variable)) | ||
- | </ | ||
- | |||
- | ===Operadores de comparación numérica=== | ||
- | |||
- | Como en todos los shells de tipo Unix, en Bash podrás utilizar operadores de comparación numérica. | ||
- | |||
- | <code bash> | ||
- | ((n1 == n2)) ## n1 es igual a n2 | ||
- | ((n1 != n2)) ## n1 es no igual a n2 | ||
- | ((n1 > n2)) ## n1 es mayor a n2 | ||
- | ((n1 >= n2)) ## n1 es mayor o igual a n2 | ||
- | ((n1 < n2)) ## n1 es menor a n2 | ||
- | ((n1 <= n2)) ## n1 es menor o igual a n2 | ||
</ | </ | ||
Línea 671: | Línea 678: | ||
+ | ====Funciones==== | ||
+ | Una función (también llamadas subrutinas o procedimientos) es una sección de código utilizada para realizar una tarea específica. Estas pueden ser reutilizadas. | ||
+ | Sintaxis: | ||
+ | |||
+ | <code bash> | ||
+ | nombreFuncion(){ | ||
+ | // procedimiento de la función | ||
+ | } | ||
+ | |||
+ | nombreFuncion | ||
+ | </ | ||
+ | |||
+ | ===Creación de una función === | ||
+ | |||
+ | Crea tu primer función de un guion de bash para que presente la cadena "Hola Texto-plano.xyz!" | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | funSaludazo(){ | ||
+ | echo " | ||
+ | } | ||
+ | |||
+ | # llama a la función saludazo desde cualquier lugar del guion, por ejemplo, ahora mismo: | ||
+ | |||
+ | funSaludazo | ||
+ | </ | ||
+ | |||
+ | Ejecuta el guion creado: | ||
+ | |||
+ | <code bash> | ||
+ | $ ./saludo.sh | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | ===Función con argumento=== | ||
+ | Para indicarle un argumento a la función es necesario hacerlo de la misma manera que argumentarías cualquier comando desde el intérprete de comandos: agregándolos a continuación con un espacio en blanco. Las funciones reciben argumentos '' | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | funArgumentos(){ | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | } | ||
+ | |||
+ | # Llama a funArgumentos desde cualquier lugar en el guion, utilizando parámetros como los indicados a continuación | ||
+ | |||
+ | funArgumentos 1 Bienvenido a Texto-plano.xyz | ||
+ | </ | ||
+ | |||
+ | Ejecuta el guion desde la shell de Bash: | ||
+ | |||
+ | <code bash> | ||
+ | $ ./saludo.sh | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Primer Argumetno : 1 | ||
+ | Segundo Argumento : Bienvenido | ||
+ | Tercer Argumento : a | ||
+ | Cuarto Argumento : Texto-plano.xyz | ||
+ | </ |