Wake up Neo…

matrix_header

Niveau intermédiaire.

Ceci est une nouvelle version du script présenté ici. J’ai décidé de le moderniser et surtout le simplifier un peu…

#!/bin/bash
###################################################
# @author:Alexandre Ravaux                        #
# @date:2017/03/05                                #
# @shell:bin/bash                                 #
###################################################
##### The Neo Trip #####
reset
# Wake up Neo...
message="Wake up Neo..."
for (( i=0; i<${#message}; i++ )); do
  echo -n "${message:$i:1}"
  sleep 0.25
done
reset
# The Matrix has you...
message="The Matrix has you..."
for (( i=0; i<${#message}; i++ )); do
  echo -n "${message:$i:1}"
  sleep 0.25
done
reset
# Follow the White Rabbit
message="Follow the White Rabbit"
for (( i=0; i<${#message}; i++ )); do
  echo -n "${message:$i:1}"
  sleep 0.25
done
reset
# Knock knock knock
neo="`whoami`"
echo Knock, knock $neo; sleep 3;
reset

Des explications s’imposent ?

${#message} représente la longueur de $message et $message est le contenu de la variable message.
${message:$i:1} On extrait le texte de longueur 1 à la position $i ($i est une valeur incrémentielle de 0 à longueur de la chaine de caractère)…

echo permet d’afficher du texte. echo W (ou echo "W") affichera W sur votre terminal. L’argument -n attribué à echo permettra d’afficher toutes les lettres sur la même ligne.

sleep comme vous pouvez le deviner (si vous avez fait un peu d’anglais) permet de faire des pauses. Plus concrètement, il suspend l’activité pendant un certain lap de temps donné en secondes. Je suis obligé d’utiliser ceci car je veux faire des pauses entre chaque affichage des lettres (affichage à l’aide de la commande echo).

Lisez le manuel (man sleep et man echo) si vous avez des doutes, ou si vous êtes curieux. N’hésitez pas non plus à chercher sur Internet…
Si vous avez exécuté le programme avant de lire l’article, vous avez pu voir que j’ai légèrement modifié la fin de cette scène. 😉

Tester chez soi ?

Créer un fichier sans extension, ou bien avec l’extension .sh. Copier le code. Ensuite dans votre terminal, déplacez vous dans le répertoire approprié (à coups de cd). Ici, j’ai appelé mon script : « neo ». Je dois le rendre exécutable avec chmod et je lance ensuite mon script avec ./

$ chmod 755 neo
$ ./neo

Geek prank : Le lancer à chaque fois qu’on ouvre le terminal

N.B : Il faut avoir les droits nécessaires pour éditer le .bashrc.

$ [Nom de votre éditeur : emacs, gedit, nano...] .bashrc &

Ajouter les lignes de code, en omettant :

#!/bin/bash

Je suis sûr qu’on peut encore améliorer ce code, n’hésitez pas à proposer une autre version de ce script ! 🙂

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s