PODCAST-6 Scripts en Linux.wav
Un script en bash es un archivo de texto plano que contiene una secuencia de comandos escritos en el lenguaje de programación Bash.
Los scripts en bash se utilizan comúnmente para automatizar tareas repetitivas, realizar operaciones de administración del sistema, manipular archivos y directorios, entre otras funciones…
Los archivos de script en bash tienen la extensión ".sh" y pueden ser ejecutados directamente desde la línea de comandos o desde otros scripts
Bash es el intérprete de comandos predeterminado en la mayoría de los sistemas operativos basados en Unix y Linux.
*si queires sabers las shells que tienes ejecutar cat /etc/shells y para saber la que usa el usuario which bash
Se tiene que llamar con la extensión .sh por ejemplo holamundo.sh
La primera línea tiene que ser #!/bin/bash
Las líneas que empiecen por # serán consideradas comentarios (no se ejecutan)
Para ejecutar un script en bash, primero necesitas asegurarte de que el archivo tenga permisos de ejecución. Puedes hacerlo con el comando chmod seguido del permiso de ejecución y el nombre del archivo. chmod +x mi_script.sh
Una vez que el archivo tiene permisos de ejecución, puedes ejecutarlo desde la línea de comandos escribiendo su ruta absoluta o relativa poniendo delante un ./ y el nombre del script. ./mi_script.sh

Se llaman por $NOMBRE.
Una variable del entorno es un valor dinámico cargado en la memoria, que puede ser utilizado por varios procesos que funcionan simultáneamente.
$ARCH Contiene la descripción de la arquitectura del equipo.
$DISPLAY Contiene la identificación de la terminal de visualización que se utilizará en el administrador de ventanas (x11).
$HOME Muestra la ruta de acceso al directorio actual del usuario.
$HOST Muestra el nombre del equipo.
$LANG Muestra el código del idioma predeterminado.
$PATH Muestra una lista de rutas de acceso a los directorios que contienen archivos ejecutables, separadas por punto y coma.
$PRINTER Contiene el nombre de la impresora predeterminada.
$SHELL Indica la ruta del intérprete de comandos utilizado.
$USER Muestra la identificación del usuario actual.
#!/bin/bash
# Muestra el valor de la variable
variable1="Esto en una variable"
echo $variable1
Si queremos que el ordenador pregunte y establezca la respuesta como variable.
#!/bin/bash
# Pregunta como te llamas y lo que escribas lo muestra.
read -p "¿Cómo te llamas?: nombre
echo "Hola $nombre"
read -p (mostrar un mensaje personalizado antes ingresar el valor)
read -s (hacer que la entrada del usuario sea silenciosa o invisible)
read -r (interprete la entrada de manera literal, evitando comandos especiales)
read -n 2 (lee solo el caracter en la posicion n indicada)
#!/bin/bash
# Solicitar al usuario que ingrese una respuesta de S o N
echo "¿Estás de acuerdo? (s/n)"
read -n 1 -r respuesta
# Verificar la respuesta del usuario
if [ "$respuesta" == "s" ]; then
echo "El usuario está de acuerdo."
elif [ "$respuesta" == "n" ]; then
echo "El usuario no está de acuerdo."
else
echo "Respuesta inválida."
fi
#!/bin/bash
#pedir por pantalla el numero a comprobar
read -p "Introduce el numero a comprobar:" numero
#buscamos el numero en un documento que tenemos con los resultados llamado numeros-ganadores.txt
if grep -q $numero numeros-ganadores.txt: then
echo "El $numero esta en la lista de ganadores"
else
echo "Ohhhh no ha tocado"
fi
Usas comandos del sistema y su valor lo usas en tu script
#!/bin/bash
# establece una variable a partir de comandos
fecha_actual=$(date +"%Y-%m-%d")
echo "La fecha actual es: $fecha_actual"
#!/bin/bash
# de una serie de opciones (lista separada por espacios), obtienes los valores que quieras
colores=("rojo" "verde" "azul")
echo "El primer color es: ${colores[0]}"
echo "El segundo color es: ${colores[1]}"
echo "El tercer color es: ${colores[2]}"
echo "Todos los colores son: ${colores[@]}"
En Bash existen estas construcciones para controlar el flujo de ejecución de un script:
if/else: Ejecuta una serie de comandos dependiendo si una cierta condición se cumple o no.for: Ejecuta una serie de comandos un numero determinado de veces.while: Ejecuta una seria de comandos mientras que una determinada condición sea cumpla.until: Ejecuta una serie de comandos hasta que una determinada condición se cumpla.case: Ejecuta una o varias listas de comandos dependiendo del valor de una variable.select: Permite seleccionar al usuario una opción de una lista de opciones en un menu.<aside> 💡 EJERCICIOS SCRIPTS. Crea un Script que haga…
Puedes anidar (meter uno dentro de otro). SI … ENTONCES…. SINO….. | (if … then… else… fi)
if "condicion" then
"comandos"
[elif "condicion"
then
"comandos"]
[else
"comandos"]
fi