Todas las líneas que en el script comiencen con almohadilla (#), una o varias, son simplemente un comentario, es decir, no se ejecutan.
En cursiva lo que se escribe en el archivo del script. Los comando de Linux van centrados y en negrita.
Creo un script llamado funcion01.sh en el directorio /home. Este script me va a hacer un dir del directorio en el que esté y además me va a generar una frase antes y después del listado de ficheros y directorios que me dé:
sudo nano /home/funcion01.sh
#!/bin/bash
functionName(){
echo «Listando directorios y ficheros…»;
dir;
echo «…Listo»
}
functionName
Salgo de la edición (Ctrl+X), guardando al salir.
Para ejecutar el script:
sudo sh /home/funcion01.sh
Cuando ejecute el script me hará un dir (me listará los ficheros y directorios) del directorio en el que me encuentre. Antes del listado aparecerá Listando directorios y ficheros… y después del listado aparecerá …Listo.
Creo un script llamado condicional01.sh en el directorio /home:
sudo nano /home/condicional01.sh
if [ $1 -gt 50 ]
then
echo «El número introducido es mayor a 50»;
else
echo «El número introducido es menor o igual a 50»;
fi
Salgo (Ctrl+x), guardando al salir.
Si ejecuto:
sudo sh /home/condicional01.sh 40
Me aparecerá El número introducido es menor o igual a 50.
Si ejecuto:
sudo sh /home/condicional01.sh 60
Me aparecerá El número introducido es mayor a 50.
Creo un script llamado bomba01.sh en el directorio /home:
sudo nano /home/bomba01.sh
#!/bin/bash
cuenta=10;
while [ $cuenta -gt 0 ]
do
echo $cuenta;
sleep 1;
cuenta=$((cuenta-1));
done
echo «BUUUUUUUUUUUUUUM»
Salgo (Ctrl+X), guardando al salir.
Ejecuto el script:
sudo nano bomba01.sh
Se verá una cuenta atrás del 10 al 1, con un segundo de intervalo entre cada número. Después del 1 se verá BUUUUUUUUUUUUUUM.
$cuenta -gt 0 significa que $cuenta sea mayor que 0.
Creamos el archivo condicional02.sh en el directorio /var/scripts:
sudo nano /var/scripts/condicional02.sh
#!/bin/bash
correct_user=leyre;
correct_password=Pecador;
echo «Escriba su usuario: «
read user;
if [ $user = $correct_user ]
then
echo «Escriba su contraseña: «;
read password;
if [ $password = $ correct_password]
then
echo «Bienvenido, $user»
else
echo «Contraseña incorrecta»
fi
echo «FIN»;
else
echo «Usuario no encontrado en la base de datos»;
fi
Este script sería el inicio de una aplicación en la que te piden usuario y contraseña.
#!/bin/bash
##La máquina elegirá un número de 0 a 100.##
correct_number=$(($RANDOM%100));
##El número de intentos para acertar el número será 6.##
attempts=6;
##Instrucciones de la máquina.##
echo «elija un número del 0 al 100»
echo «sólo dispone de 6 intentos»
##Mientras que el número de intentos sea mayor que 0, la máquina seguirá preguntando. El bucle while empieza con do y termina con done.##
while [ $attempts -gt 0 ]
do
##Permite al usuario meter un número.##
read number;
##Primera condicional: si el usuario acepta, te da la enhorabuena. Las condicionales empiezan con if y acaban con fi. Con exit indico que si se cumple esta condición (acertar) me salgo del script.##
if [ $number -eq $correct_number ]
then
echo «Enhorabuena.»
exit
fi
##Segunda condicional: si el número elegido por el usuario es mayor que el correcto, te lo dice##
if [ $number -gt $correct_number ]
then
echo «El número que ha elegido es mayor que nuestro número.»
echo «Te quedan $((attempts-1)) intentos.»
fi
##Tercera condicional: si el número elegido por el usuario es menor que el correcto, te lo dice##
if [ $number -lt $correct_number ]
then
echo «El número que ha elegido es menor que nuestro número.»
echo «Te quedan $((attempts-1)) intentos.»
fi
##Cada vez que el usuario hace un intento, esta variable disminuye en un número. Inicialmente esta variable valía 6, así que llegará un momento en que, si no se acierta, esta variable llegará a 0 y se dejará de preguntar.##
attempts=$((attempts-1));
done
Al salir (Ctrl+X), guardamos el script.
Hay que darle permisos para que $RANDOM%100 funcione. Introducimos el comando:
sudo chmod 775 /var/scripts/juego01.sh
Ejecuta el script usando el comando:
sudo ./juego01.sh