Herramientas de usuario

Herramientas del sitio


clase:daw:si:2eval:tema12

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
clase:daw:si:2eval:tema12 [2021/01/03 18:52]
admin
clase:daw:si:2eval:tema12 [2021/12/06 21:18] (actual)
admin [VI]
Línea 14: Línea 14:
  
 {{:clase:daw:si:2eval:chiste-vim29.png?600|}} {{:clase:daw:si:2eval:chiste-vim29.png?600|}}
 +
 +{{:clase:daw:si:2eval:bash-montar-en-bici.png?direct&600|}}
  
  
Línea 30: Línea 32:
   * Darle permisos de ejecución:   * Darle permisos de ejecución:
  
-    chmod u+x miscript.sh+  chmod u+x miscript.sh
  
   * Ejecutar el Script con la ruta del directorio actual:   * Ejecutar el Script con la ruta del directorio actual:
  
-    ./miscript.sh+  ./miscript.sh
  
  
Línea 40: Línea 42:
  
   * [[http://how-to.wikia.com/wiki/How_to_read_command_line_arguments_in_a_bash_script|How to read command line arguments in a bash script]]   * [[http://how-to.wikia.com/wiki/How_to_read_command_line_arguments_in_a_bash_script|How to read command line arguments in a bash script]]
-  * [[http://ovtoaster.com/shell-scripts-en-linux-variables-y-parametros/|Aprendiendo shell scripting en Linuxvariables y parámetros]]+  * [[https://www.atareao.es/tutorial/scripts-en-bash/variables-en-bash/|Variables en Bash]] 
 +  * [[https://victorroblesweb.es/2016/08/27/parametros-en-shell-script/|Parámetros en Shell Script]]
   * [[http://www.linux-es.org/node/147|Bash (III) - Variables y funciones]]   * [[http://www.linux-es.org/node/147|Bash (III) - Variables y funciones]]
  
Línea 46: Línea 49:
  
   * Principales variables del bash   * Principales variables del bash
-    * $HOME: Directorio inicial del usuario +    * ''$HOME'': Directorio inicial del usuario 
-    * $PATH: Lista de directorios donde buscar un ejecutable +    * ''$PATH'': Lista de directorios donde buscar un ejecutable 
-    * $PWD: El directorio de trabajo actual +    * ''$PWD'': El directorio de trabajo actual 
-    * $UID : Identificador del usuario actual +    * ''$UID'' : Identificador del usuario actual 
-    * $$ : El PID del proceso actual +    * ''$$'' : El PID del proceso actual 
-    * $1, $2 , $3, ...: Cada uno de los argumentos +    * ''$1''''$2'' ''$3'', ...: Cada uno de los argumentos 
-    * $#: El Nº de argumentos+    * ''$#'': El Nº de argumentos
  
  
 ===== Redirecciones ===== ===== Redirecciones =====
-  * [[https://www.linuxadictos.com/tuberias-lo-que-necesitas-saber-para-empezar-a-usarlas-en-gnu-linux.html|Tuberías: lo que necesitas saber para empezar a usarlas en GNU/Linux]] 
  
 +En Linux se permite hacer la redirección de la entrada y la salida a un fichero y desde un fichero.
  
  
-  * En Linux se permite hacer la redirección de la entrada y la salida. 
-    * Redireccionar la salida 
  
-  ls *.sh > misScripts.txt 
  
-    * Redireccionar la entrada 
  
-  sort < misScripts.txt +  * Redireccionar la salida 
- + 
 +  find / -name "*.mkv" > mis-peliculas.txt 
     * Añadir a la salida     * Añadir a la salida
  
-  ls *.sh >> misScripts.txt +  find / -name "*.avi" >> mis-peliculas.txt 
-==== Operador Substitución ====+ 
 +    * Redireccionar la entrada 
 + 
 +  sort < mis-peliculas.txt 
 + 
 + 
 +Mas información: 
 +  * [[https://www.sololinux.es/guardar-la-salida-de-un-comando-en-un-archivo|Guardar la salida de un comando en un archivo]] 
 + 
 + 
 +===== Operador Substitución =====
  
   * [[http://www.cyberciti.biz/faq/unix-linux-bsd-appleosx-bash-assign-variable-command-output/|Bash: Assign Output of Shell Command To Variable]]   * [[http://www.cyberciti.biz/faq/unix-linux-bsd-appleosx-bash-assign-variable-command-output/|Bash: Assign Output of Shell Command To Variable]]
Línea 78: Línea 89:
  
 <sxh bash> <sxh bash>
-  V=$(ls+  ANYO_ACTUAL=$(date +%Y
-  echo $V+  echo $ANYO_ACTUAL
  </sxh>  </sxh>
  
-==== Operador matemático ==== +===== Operador matemático ===== 
-Para hacer operaciones matemáticas con bash usar "$[   ]"+Para hacer operaciones matemáticas con bash usar ''$[   ]''
  
 <sxh bash> <sxh bash>
Línea 116: Línea 127:
  
  
-==== Condicional ====+===== Condicional =====
   * [[http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-6.html|6. Conditionals]]   * [[http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-6.html|6. Conditionals]]
   * [[http://es.wikibooks.org/wiki/El_Manual_de_BASH_Scripting_B%C3%A1sico_para_Principiantes/El_b%C3%A1sico_%28If-Then%29|El Manual de BASH Scripting Básico para Principiantes/El básico (If-Then)]]   * [[http://es.wikibooks.org/wiki/El_Manual_de_BASH_Scripting_B%C3%A1sico_para_Principiantes/El_b%C3%A1sico_%28If-Then%29|El Manual de BASH Scripting Básico para Principiantes/El básico (If-Then)]]
Línea 138: Línea 149:
 fi fi
 </sxh> </sxh>
 +
 +
 +<sxh bash>
 +if [ "$SALUDO" == "HOLA" ] || [ "$SALUDO" == "Hello" ]; then
 +    echo "Ha saludado "
 +else
 +   echo "No ha saludado"
 +fi
 +</sxh>
 +
 +<sxh bash>
 +if [ "$SALUDO" == "HOLA" ] && [ "$NOMBRE" == "Lorenzo" ]; then
 +    echo "Hola Lorenzo "
 +fi
 +</sxh>
 +
 +<sxh bash>
 +if [ "$ANYO_ACTUAL" -le "2020" ]; then
 +    echo "El año actual es menor o igual que 2020"
 +fi
 +</sxh>
 +
 +^  Operadores para textos  ^^^
 +^ Operador en Bash ^ Significado ^ Ejemplo ^
 +| == | = | ''if [ "$a" == "$b" ]; then'' |
 +| != | ≠ | ''if [ "$a" != "$b" ]; then'' |
 +
 +
 +^  Operadores para números enteros  ^^^
 +^ Operador en Bash ^ Significado ^ Ejemplo ^
 +| -eq | = (**eq**ual) | ''if [ "$a" -eq "$b" ]; then'' |
 +| -ne | ≠ (**n**ot **e**qual)  | ''if [ "$a" -ne "$b" ]; then'' |
 +| -gt | > (**g**reater **t**han)  | ''if [ "$a" -gt "$b" ]; then'' |
 +| -ge | ≥ (**g**reater or **e**qual)  | ''if [ "$a" -ge "$b" ]; then'' |
 +| -lt | < (**l**ess **t**han)  | ''if [ "$a" -lt "$b" ]; then'' |
 +| -le | ≤ (**l**ess or **e**qual)  | ''if [ "$a" -le "$b" ]; then'' |
 +
 +^  Operadores lógicos  ^^^
 +^ Operador en Bash ^ Significado ^ Ejemplo ^
 +| <nowiki>||</nowiki> | O lógico | ''if [ "$a" == "$b" ] || [ "$a" == "$c" ]; then'' |
 +| <nowiki>&&</nowiki> | Y lógico | ''if [ "$a" != "$b" ] && [ "$a" != "$c" ]; then'' |
  
  
  
-==== Bucles ====+===== Bucles =====
   * [[https://www.cyberciti.biz/faq/bash-for-loop/|Bash For Loop Examples]]   * [[https://www.cyberciti.biz/faq/bash-for-loop/|Bash For Loop Examples]]
 <sxh bash> <sxh bash>
clase/daw/si/2eval/tema12.1609696344.txt.gz · Última modificación: 2021/01/03 18:52 por admin