Crear y ejecutar scripts en Ubuntu Server 18.04

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

 

Anuncio publicitario

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s