linux:programacionbash
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| linux:programacionbash [2018/12/21 11:03] – [let] alberto | linux:programacionbash [2018/12/21 11:35] (actual) – [if] alberto | ||
|---|---|---|---|
| Línea 104: | Línea 104: | ||
| No es necesario separar los elementos por un espacio, es más fácil trabajar con variables, ya que se pueden definir en una expresión y no es necesario incluir el símbolo **$**. \\ | No es necesario separar los elementos por un espacio, es más fácil trabajar con variables, ya que se pueden definir en una expresión y no es necesario incluir el símbolo **$**. \\ | ||
| Tiene más opreadores que expr, son más comunes y no requieren del símbolo **\** delante.\\ | Tiene más opreadores que expr, son más comunes y no requieren del símbolo **\** delante.\\ | ||
| - | Tiene dos posibles sintaxis: **let [expresión]** o **(([expresión]))**. | + | Tiene dos posibles sintaxis: **let [expresión]** o **< |
| ^ Operadores aritméticos ^ Nombre ^ Operadores lógicos ^ Nombre ^ Otros operadores ^ Nombre ^ | ^ Operadores aritméticos ^ Nombre ^ Operadores lógicos ^ Nombre ^ Otros operadores ^ Nombre ^ | ||
| - | | + | Suma | < | + | | + | Suma | < |
| - | | - | Resta | && | + | | - | Resta | && |
| - | | * | Multiplicación | + | | * | Multiplicación |
| - | | / | División entera | + | | / | División entera |
| - | | % | Módulo | + | | % | Módulo |
| - | | ** | Potencia | + | | < |
| - | | = | Asignación | + | | = | Asignación |
| - | | | + | | |
| - | | | + | | |
| ===== Entrada de datos: read ===== | ===== Entrada de datos: read ===== | ||
| El comando **read** permite introducir datos, de forma que sea posible realizar programas interactivos.\\ | El comando **read** permite introducir datos, de forma que sea posible realizar programas interactivos.\\ | ||
| - | Se pasan a continuación de **read** las variables a las que se les asignarán los datos (números o cadenas de caracteres.\\ | + | Se pasan a continuación de **read** las variables a las que se les asignarán los datos (números o cadenas de caracteres).\\ |
| Si hay más datos que variables, a la última variable asignada se le asigna una cadena con todos los datos restantes.\\ | Si hay más datos que variables, a la última variable asignada se le asigna una cadena con todos los datos restantes.\\ | ||
| Si hay menos datos que variables, las variables sin datos se considerarán nulas.\\ | Si hay menos datos que variables, las variables sin datos se considerarán nulas.\\ | ||
| + | Si se llama **read** sin argumentos, la entrada pasara completa como cadena a la variable de Bash **$REPLY**. | ||
| + | Es posible que la entrada se ponga en la misma linea que una frase, con la opción **-p**, ejemplo: | ||
| + | <code bash> read -p " | ||
| + | | ||
| + | echo $edad | ||
| + | | ||
| ===== Estructuras de control ===== | ===== Estructuras de control ===== | ||
| + | Permiten ejecutar comandos en función del resultado de una expresión.\\ | ||
| + | Para este cometido son muy usados los comandos **test** y **let**. | ||
| + | |||
| + | ==== if ==== | ||
| + | Ejecuta una serie de comandos si la condición evaluada es verdad.\\ | ||
| + | Sintaxis: | ||
| + | <code bash>if [condición] | ||
| + | then | ||
| + | | ||
| + | else | ||
| + | | ||
| + | fi</ | ||
| + | |||
| + | ==== for ==== | ||
| + | Ejecuta la misma serie de comandos tantas veces como valores haya en una lista dada.\\ | ||
| + | En cada iteración una variable toma el valor de la lista considerado en esa iteración.\\ | ||
| + | Sintaxis: | ||
| + | <code bash>for [variable] in [lista de valores] | ||
| + | do | ||
| + | | ||
| + | done</ | ||
| + | |||
| + | Es muy interesante el uso de caracteres genéricos en el uso de directorios y archivos, a la hora de definir una lista. | ||
| + | |||
| + | ==== while ==== | ||
| + | Se ejecutarán una serie de comandos mientras la condición sea válida.\\ | ||
| + | Sintaxis: | ||
| + | <code bash> | ||
| + | do | ||
| + | | ||
| + | done</ | ||
linux/programacionbash.1545386634.txt.gz · Última modificación: por alberto
