Logo de fravelz

Notas de Hacking

Fravelz

Fundamentos de Bash Script


Recurso Extra: Video de YouTube de Bash Script desde cero:


Cabecera del Script {#cabecera-del-script}

La cabecera o shebang indica qué intérprete ejecutará el script.

#!/bin/bash

Imprimir texto y comentarios {#imprimir-texto-y-comentarios}

Puedes imprimir texto con echo y escribir comentarios de varias formas.

# Imprimir texto
echo "hola mundo !!!"    # Imprime hola mundo por consola

# Esto es un comentario de una sola línea.

Comentarios multilínea pueden simularse con dos métodos:

: '
Comentario (*recomendado)
multilinea simulado
con null command con string.
'

<< 'EOF'
Comentario
multilinea simulado
con here document descartado.
EOF

Variables en Bash {#variables-en-bash}

En Bash solo existe un tipo de dato: string (cadena de texto). Se puede escribir sin comillas, o con comillas simples o dobles.

Ejemplo:

name=Fravelz
today="10 09 2025"
message='hola $name'
Importante: No deben colocarse espacios al declarar una variable. Bash es sensible a los espacios.
Para usar una variable se coloca $ antes de su nombre: $variable

Variables especiales {#variables-especiales}

Para imprimir valores (evitando errores con espacios), se recomienda:

echo "$variable"

Strings {#strings}

name=Fravelz
today="10 09 2025"
message='hola $name'

Los strings pueden ser multilínea (guarda exactamente los saltos de líneas que tenga):

text="
Este es un string
Multilinea :)
"

Llamar a variables e imprimir:

echo "Mi nombre es $name y estamos en el year $today"
echo $message
echo $text

Valores constantes {#valores-constantes}

Usa readonly para declarar constantes:

readonly PI=3.1416

Operaciones matemáticas {#operaciones-matemáticas}

Bash permite realizar operaciones aritméticas en las siguientes formas:

a=1
b=2

echo $((a + b))
echo $(expr $a + $b)

Símbolos matemáticos {#símbolos-matemáticos}


Leer entrada del usuario {#leer-entrada-del-usuario}

El comando read se usa para leer datos del usuario.

Parámetros útiles {#parámetros-útiles}

Ejemplo:

echo "Cual es tu User?"
read user

echo "Cual es tu name?"
read -p name

read -t 4 -p "Escribe algo en 4 seg.:" value
echo "Ingresaste $value"