Skip to content

stonemantlearg/pruebas-practicas-bash

Repository files navigation

pruebas-practicas-bash

pruebas y practicas de bash

disclaimer: ejercicios y demás tomados de https://tldp.org/LDP/abs/html/index.html

No olvidarse de correr el comando "chmod +x filename" nunca.

sha-bang(#!)

Indicadores de que lo que va a correrse es un script de shell; el #! en realidad es un magic number que indica el file type
(Más info = https://en.wikipedia.org/wiki/Magic_number_(programming) )

#!/bin/sh
#!/bin/bash
#!/usr/bin/perl
#!/usr/bin/tcl
#!/bin/sed -f
#!/bin/awk -f

Al utilizar indicadores como los previamente mencionados se vuelve un script portable a sistemas que no son Linux; aunque se sacrifican algunas utilidades de Bash.
Si el path dado al script no es correcto, imprimirá un mensaje de "Command not found."

Si hay algo en la primera linea, el sha-bang pasará a ser considerado un comentario.

Caracteres Especiales

Los comentarios pueden aparecer en cualquier parte del script pero el # que inicia los comentarios puede estar en diferentes lugares que lo harían no formar parte del comentario. Por ejemplo:

echo "the # here does not begin a comment"
echo 'the # here does not begin a comment'
echo the /# here does not begin a comment
echo the # here begins a comment

echo ${PATH#*:} # Está substituyendo un parámetro, no haciendo un comentario.
echo $(( 2#101011 )) # Conversión, no hace comentario.

"" '' \ se consideran "quoting and escape", por lo cual no pueden tener un comentario dentro.

  1. "" -> También preserva la mayoría de los caracteres de ser interpretados.
  2. '' -> Conserva TODOS los caracteres de ser interpretados.
  3. , -> separa operaciones aritméticas y puede concatenar strings.
  4. ... -> "Operación no hacer nada"
  5. * -> wildcard o multiplicación aritmética
  6. ? -> Operador de testeo (EJ: condición? result-if-true:result-if-false) o wild card de un solo caracter
  7. $ -> Sustitución de variables o final de linea en una expresión regular
  8. ${} -> Sustitución de parámetros
  9. () -> Grupo de comandos o inicio de un array, doble es expansión de integral
  10. {} -> bloque de código, expansión de braces o extensión de brace expansion (EJ: {a..z} contiene todos los carácteres de A a Z)
  11. [] -> Test, elementos de un array, o rango de caracteres
  12. $[ ... ] -> Expansión de integral (EJ: A=3, B=7 / $[$A+$B] resulta en 10)
  13. >, &>, >&, <<, >>, <, <> -> redirección
  14. <,> -> Comparadores de strings, integrers, etc.
  15. \< , \> -> limitación de palabras en expresiones regulares
  16. | -> pipe, pasa el resultado (stdout) de un comando dentro del input (stdin) de otro o a la shell. Se usa para vincular comanados.
  17. >| -> Redirección forzada
  18. & -> Los comandos seguidos por un & van a continuar ejecutandose pasivamente.
  19. && -> Operador lógico AND
  20. || -> operador lógico OR

Variables

En caso de dejar una variable vacía esta siempre tomará el valor de "null"; incluso si es usada en un lugar en específico o para una función.

Ejemplo:

echo ${var=abc} # Resulta en abc
echo ${var=xyz} # Resulta en abc, ya que fue declarada previamente.

About

pruebas y practicas de bash

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages