Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| tutorial_de_programacion_en_bash [2024/05/07 02:11] – [Bucle for] peron | tutorial_de_programacion_en_bash [2026/04/21 16:09] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 53: | Línea 53: | ||
| ===Cita con cadena=== | ===Cita con cadena=== | ||
| - | No existe diferencia al utilizar apóstrofo ''< | + | No existe diferencia al utilizar apóstrofo ''< |
| El siguiente guion 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: | ||
| Línea 139: | Línea 139: | ||
| ===Ejemplo=== | ===Ejemplo=== | ||
| - | Escribe un programa para escribir una cadena de texto en ''/ | + | Escribe un programa para escribir una cadena de texto en ''/ |
| - | <code bash> | + | <file bash fichero_prueba.txt> |
| # | # | ||
| Línea 151: | Línea 151: | ||
| echo "Lo siento, no puedo escribir en / | echo "Lo siento, no puedo escribir en / | ||
| fi | fi | ||
| - | </code> | + | </file> |
| Línea 157: | Línea 157: | ||
| Este fichero buscará la cadena '' | Este fichero buscará la cadena '' | ||
| - | <code bash> | + | <file bash buscapersona.sh> |
| # | # | ||
| - | STRING=" | + | CADENA=" |
| - | if grep ${STRING} /etc/passwd | + | if grep ${CADENA} /etc/passwd |
| then | then | ||
| echo "Si! Encontré la cadena" | echo "Si! Encontré la cadena" | ||
| Línea 168: | Línea 168: | ||
| echo "Buu!, no encontré la cadena" | echo "Buu!, no encontré la cadena" | ||
| fi | fi | ||
| - | </code> | + | </file> |
| ====Entrada de Usuario==== | ====Entrada de Usuario==== | ||
| Línea 180: | Línea 180: | ||
| </ | </ | ||
| - | También podrás indicar algún texto que se presentará a modo de información, a la hora de solicitar la entrada: | + | También podrás indicar algún texto con '' |
| <code bash> | <code bash> | ||
| - | read -p "Dime tu nombre de usuari@: " | + | read -p "Dime tu nombre de usuari@: " |
| </ | </ | ||
| - | Podrás utilizar el argumento | + | Podrás utilizar el argumento |
| <code bash> | <code bash> | ||
| - | $ read -sp "Dime de que equipo eres fanátic@: " | + | $ read -sp "Dime de que equipo eres fanátic@: " |
| </ | </ | ||
| Utiliza en un guion de Bash la funcionalidad del comando //read// para solicitar el ingreso de datos al usuario: | Utiliza en un guion de Bash la funcionalidad del comando //read// para solicitar el ingreso de datos al usuario: | ||
| - | <code bash> | + | <file bash dime_tu_nombre.sh> |
| # | # | ||
| - | read -p " | + | read -p " |
| - | read -sp "Dime de qué equipo eres fanátic@: " | + | read -sp " |
| - | echo -e "\nTu nombre de usuari@ es $miusuario | + | echo -e "\nTu nombre de usuari@ es $tuusuario |
| - | </code> | + | </file> |
| ==== Operadores ==== | ==== Operadores ==== | ||
| Línea 210: | Línea 210: | ||
| ===Operadores aritméticos ==== | ===Operadores aritméticos ==== | ||
| - | En Bash podrás encerrar entre paréntesis dobles ''< | + | En Bash podrás encerrar entre //paréntesis dobles// ''< |
| <code bash> | <code bash> | ||
| - | (expresion)) | + | ((expresion)) |
| - | (variable1+variable2)) | + | ((variable1+variable2)) |
| - | (variable1-variable2)) | + | ((variable1-variable2)) |
| - | (variable1*variable2)) | + | ((variable1*variable2)) |
| - | (variable1/ | + | ((variable1/ |
| </ | </ | ||
| Línea 297: | Línea 297: | ||
| <code bash> | <code bash> | ||
| - | if [ condicion | + | if [ condición |
| then | then | ||
| hacer-algo | hacer-algo | ||
| Línea 310: | Línea 310: | ||
| # | # | ||
| - | read -p " | + | read -p " |
| - | if [ $myvar -gt 10 ] | + | if [ $mivariable |
| then | then | ||
| echo "El valor es mayor que 10" | echo "El valor es mayor que 10" | ||
| Línea 327: | Línea 327: | ||
| # | # | ||
| - | read -p " | + | read -p " |
| - | if [ $myvar -gt 10 ] | + | if [ $mivariable |
| then | then | ||
| echo " | echo " | ||
| Línea 384: | Línea 384: | ||
| Por ejemplo, este programa solicita ingresar 3 valores numéricos como entrada y realiza una comparación numérica para analizar cuál es el valor mayor. | Por ejemplo, este programa solicita ingresar 3 valores numéricos como entrada y realiza una comparación numérica para analizar cuál es el valor mayor. | ||
| - | <code bash> | + | <file bash el_mas_grande.sh> |
| # | # | ||
| - | read -p " | + | read -p " |
| - | read -p " | + | read -p " |
| - | read -p " | + | read -p " |
| - | if [ $boca -gt $river ] | + | if [ $copasboca |
| then | then | ||
| - | if [ $boca -gt $independiente | + | if [ $copasboca |
| then | then | ||
| echo "Boca es el más grande" | echo "Boca es el más grande" | ||
| Línea 400: | Línea 400: | ||
| fi | fi | ||
| else | else | ||
| - | if [ $river -gt $independiente | + | if [ $copasriver |
| then | then | ||
| echo "River es el más grande" | echo "River es el más grande" | ||
| Línea 407: | Línea 407: | ||
| fi | fi | ||
| fi | fi | ||
| - | </code> | + | </file> |
| ==== While ==== | ==== While ==== | ||
| Línea 516: | Línea 516: | ||
| __Ver también__: [[while.sh]] (ejemplo '' | __Ver también__: [[while.sh]] (ejemplo '' | ||
| + | |||
| + | ====Until==== | ||
| + | |||
| + | //Until//, es una instrucción de control que sirve para generar bucles, en los cuales grupos de instrucciones anidadas dentro de un bloque se ejecutan de forma repetida hasta que se cumpla una condición. Sigue la sintaxis '' | ||
| + | |||
| + | Cabe destacar que Until, primero comprobará si se cumple la condición y si se cumple y sólo si se cumple entonces finaliza la secuencia de las instrucciones contenidas entre do y done. | ||
| + | |||
| + | Cada vez que se ejecuta un bucle completo (paso de bucle) vuelve a verificar si se cumple la condición antes de volver a ejecutar otro paso de bucle. | ||
| + | |||
| + | ===Ejemplo Until-do-done=== | ||
| + | <code bash> | ||
| + | until [ " | ||
| + | do | ||
| + | | ||
| + | | ||
| + | | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | ==do y done== | ||
| + | |||
| + | Las acciones entre '' | ||
| + | ===Ejemplo Do-Done=== | ||
| + | <code bash> | ||
| + | < | ||
| + | i=10; | ||
| + | |||
| + | until [ $limite -gt $i ] | ||
| + | do | ||
| + | echo Acción $i ejecutada | ||
| + | let i=$i-1 | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | El ejemplo anterior mostraría por pantalla: | ||
| + | < | ||
| + | Acción 10 ejecutada | ||
| + | Acción 9 ejecutada | ||
| + | Acción 8 ejecutada | ||
| + | Acción 7 ejecutada | ||
| + | Acción 6 ejecutada | ||
| + | Acción 5 ejecutada | ||
| + | </ | ||
| ==== case ==== | ==== case ==== | ||
| Línea 678: | Línea 721: | ||
| __Ver también__: [[manzanas.sh]] (Ejemplo bucle '' | __Ver también__: [[manzanas.sh]] (Ejemplo bucle '' | ||
| ====Funciones==== | ====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. | + | |
| + | Una //función// (también llamadas | ||
| Sintaxis: | Sintaxis: | ||
| Línea 694: | Línea 738: | ||
| Crea tu primer función de un guion de bash para que presente la cadena "Hola Texto-plano.xyz!" | Crea tu primer función de un guion de bash para que presente la cadena "Hola Texto-plano.xyz!" | ||
| - | <code bash> | + | <file bash saludo1.sh> |
| # | # | ||
| Línea 704: | Línea 748: | ||
| funSaludazo | funSaludazo | ||
| - | </code> | + | </file> |
| Ejecuta el guion creado: | Ejecuta el guion creado: | ||
| <code bash> | <code bash> | ||
| - | $ ./saludo.sh | + | $ ./saludo1.sh |
| </ | </ | ||
| Línea 715: | Línea 759: | ||
| ===Función con argumento=== | ===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 '' | 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> | + | <file bash saludo2.sh> |
| # | # | ||
| Línea 730: | Línea 775: | ||
| funArgumentos 1 Bienvenido a Texto-plano.xyz | funArgumentos 1 Bienvenido a Texto-plano.xyz | ||
| - | </code> | + | </file> |
| Ejecuta el guion desde la shell de Bash: | Ejecuta el guion desde la shell de Bash: | ||
| <code bash> | <code bash> | ||
| - | $ ./saludo.sh | + | $ ./saludo2.sh |
| </ | </ | ||
| < | < | ||
| - | Primer | + | Primer |
| Segundo Argumento : Bienvenido | Segundo Argumento : Bienvenido | ||
| Tercer Argumento : a | Tercer Argumento : a | ||
| Cuarto Argumento : Texto-plano.xyz | Cuarto Argumento : Texto-plano.xyz | ||
| </ | </ | ||
