tutorial_de_programacion_en_bash

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

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 20:35] – [Operadores] perontutorial_de_programacion_en_bash [2023/06/06 18:21] peron
Línea 9: Línea 9:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
  
 NAME="Tutoriales texto-plano.xyz" NAME="Tutoriales texto-plano.xyz"
Línea 23: Línea 23:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
  
 #Define una variable global de bash  #Define una variable global de bash 
Línea 43: Línea 43:
  
 <code bash> <code bash>
-env+env
 </code> </code>
  
-Generalmente se suele definir estas variables en mayñusculas, por ejemplo: ''PATH'', ''SHELL'', ''HOME'', ''LANG'', ''PWD'' y muchas mas.+Generalmente se suele definir estas variables en mayúsculas, por ejemplo: ''PATH'', ''SHELL'', ''HOME'', ''LANG'', ''PWD'' y muchas mas.
  
 ==== Citas ==== ==== Citas ====
Línea 54: Línea 54:
 ===Cita con cadena=== ===Cita con cadena===
  
-No existe diferencia al utilizar una comilla simple ''<nowiki>''</nowiki>'' o comillas ''""'' mientras operas con textos simples y cadenas.+No existe diferencia al utilizar apóstrofo ''<nowiki>'...'</nowiki>'' o comillas ''"..."'' mientras operas con textos simples y cadenas.
  
-El siguiente guión correrá sin errores y presentará el mensaje indicado y creará ambos directorios:+El siguiente guion correrá sin errores y presentará el mensaje indicado y creará ambos directorios:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
  
-echo 'Cadena entre comillas simples+echo 'Cadena apostrofada
-echo "Cadena entre comillas"+echo "Cadena entrecomillada"
  
-mkdir 'Dir 1' +mkdir 'Directorio 1' 
-mkdir "Dir 2"+mkdir "Directorio 2"
 </code> </code>
  
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 guión. La primer echo presentará el valor de la variable (ej. ''Bienvenid@ ~fulana''). Pero la segunda variable solo presentará ''$NOMBRE'' porque está entre comillas simples:+Ejecuta el siguiente guion. La primer echo presentará el valor de la variable (ej. ''Bienvenid@ ~fulana''). Pero la segunda variable solo presentará ''$NOMBRE'' porque está entre comillas simples:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
  
 NOMBRE="Bienvenid@ ~$USER" NOMBRE="Bienvenid@ ~$USER"
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 ''set -xv'' dentro del guión o en la línea de comando cuando ejecutes el guión para depurarlo.+El guionado de Bash provee una funcionalidad de depuración durante el tiempo de ejecución. Emplea el comando ''set -xv'' dentro del guion o en la línea de comando cuando ejecutes el guion para depurarlo.
  
 ===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>
-#!/usr/bin/bash+#!/usr/local/bin/bash
  
 set -xv   # Esta línea activa el depurado set -xv   # Esta línea activa el depurado
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, en otras palabras, es la indicación que dá - al cese de su ejecución - el proceso hijo, al retornar al su proceso padre.+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, en otras palabras, es la indicación que da - al cese de su ejecución - el proceso hijo, al retornar al su proceso padre.
  
 | ''0'' - Success | Un //valor cero// (0) representa éxito. | | ''0'' - Success | Un //valor cero// (0) representa éxito. |
Línea 143: Línea 143:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
    
 echo "Viva Bash, más rápido que un flash!" > /tmp/fichero_prueba.txt echo "Viva Bash, más rápido que un flash!" > /tmp/fichero_prueba.txt
Línea 159: Línea 159:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
    
 STRING="fulana" STRING="fulana"
Línea 196: Línea 196:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
    
 read -p "Ingresa tu nombre de usuari@: " miusuario read -p "Ingresa tu nombre de usuari@: " miusuario
Línea 211: Línea 211:
  
 ===Operadores aritméticos ==== ===Operadores aritméticos ====
-Utiliza entre paréntesis dobles ''<nowiki>(())</nowiki>'' para realizar las operaciones aritméticas sobre variables constituidas por valores numéricos en Bash, según esta sintaxis:+En Bash podrás encerrar entre paréntesis dobles ''<nowiki>(())</nowiki>'' para realizar las operaciones aritméticas sobre variables constituidas por valores numéricos, según esta sintaxis:
  
 <code bash> <code bash>
Línea 226: Línea 226:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
  
 read -p "Ingresa un valor numérico: " n1 read -p "Ingresa un valor numérico: " n1
Línea 309: Línea 309:
 Este programa solicita que ingreses una cifra, y te informa si es mayor a ''10''. Este programa solicita que ingreses una cifra, y te informa si es mayor a ''10''.
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
    
 read -p "Ingrese un valor numérico: " myvar read -p "Ingrese un valor numérico: " myvar
Línea 326: Línea 326:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
    
 read -p "Ingresa una cifra: " myvar read -p "Ingresa una cifra: " myvar
Línea 360: Línea 360:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
    
 read -p "Ingresa tus calificaciones: " calificacion read -p "Ingresa tus calificaciones: " calificacion
Línea 386: Línea 386:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
    
 read -p "Cuantas copas tiene Boca :" boca read -p "Cuantas copas tiene Boca :" boca
Línea 444: Línea 444:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
  
 while true while true
Línea 455: Línea 455:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
    
 while true while true
Línea 491: Línea 491:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
    
 num=1 num=1
Línea 565: Línea 565:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
    
 read -p "Ingresa una cadena:" choice read -p "Ingresa una cadena:" choice
Línea 619: Línea 619:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
  
 for i in 1 2 3 4 5 for i in 1 2 3 4 5
Línea 630: Línea 630:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
  
 for i in {1..5} for i in {1..5}
Línea 641: Línea 641:
  
 <code bash> <code bash>
-#!/usr/bin/bash+#!/usr/local/bin/bash
  
 for dia in DOM LUN MAR MIE JUE VIE SAB DOM for dia in DOM LUN MAR MIE JUE VIE SAB DOM
Línea 669: Línea 669:
  
 <code bash> <code bash>
-#!/bin/bash+#!/usr/local/bin/bash
    
 for nombrefichero in * for nombrefichero in *
Línea 678: 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  //llamada a la función
 +</code>
 +
 +===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!". Elabora el guion de Shell "saludo.sh" con el siguiente código fuente:
 +
 +<code bash>
 +#!/usr/local/bin/bash
 +
 +funSaludazo(){
 +    echo "¡Hola texto-plano.xyz!";
 +}
 +
 +# llama a la función saludazo desde cualquier lugar del guion, por ejemplo, ahora mismo:
 +
 +funSaludazo
 +</code>
 +
 +Ejecuta el guion creado:
 +
 +<code bash>
 +$ ./saludo.sh
 +</code>
 +
 +<code>¡Hola texto-plano.xyz!</code>
 +
 +===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 ''$1'', ''$2'', etcétera. En consecuencia, para crear un guion de shell con argumento podrías incluir un código semejante a este:
 +
 +<code bash>
 +#!/usr/local/bin/bash
 +
 +funArgumentos(){
 +   echo "Primer Argumento: " $1
 +   echo "Segundo Argumento: " $2
 +   echo "Tercer Argumento: " $3
 +   echo "Cuarto Argumento: " $4
 +}
 +
 +# 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 
 +</code>
 +
 +Ejecuta el guion desde la shell de Bash:
 +
 +<code bash>
 +$ ./saludo.sh
 +</code>
 +
 +<code>
 +Primer Argumetno : 1
 +Segundo Argumento : Bienvenido
 +Tercer Argumento : a
 +Cuarto Argumento : Texto-plano.xyz
 +</code>
  • tutorial_de_programacion_en_bash.txt
  • Última modificación: 2024/05/07 02:22
  • por peron