Matrix terminal

Voici plusieurs façon d’avoir un “effet Matrix” dans votre terminal à l’aide d’un script bash

Scripts

Affichage classique

Un défilé de 0 et de 1

#!/bin/bash

echo -e

while true
do
# Nombre de colonnes, ici 30
for i in `seq 1 30`

# Génération aléatoire de 0 et 1
do random="$[($RANDOM % 2)]"

# Colorisation aléatoire des 0 et 1
chiffre="$[($RANDOM % 4)]"

if [ $chiffre -eq 1 ]
then couleur="\e[;1;32m $random"
else couleur="\e[;2;32m $random"
fi

Matrix="$couleur $Matrix"

done

echo -e $Matrix

# "Retour" à la ligne après avoir créer une colonne de taille 30
Matrix=" "

done

Avec la commande yes

La commande yes permet d’afficher indéfiniment une chaîne de caratère jusqu’à ce que le processus soit tué

# yes 'Matrix=(" " "  " 0 1); printf "\e[32m${Matrix[RANDOM%10]}"' | bash

Avec tput

La commande tput permet à la base de gérer la mise en page d’un script interactif (ou personnaliser le prompt).

#!/bin/bash

# Récupération du nombre de colonne divisé par 2
Colonne=$(( $(tput cols) / 2 ))
# Effacer le terminal avant le lancement du script
clear

while :
do
# L'option "cup" positionne les caratère à un endroit précis (ici aléatoirement)
tput cup $((RANDOM%Colonne)) $((RANDOM%Colonne))


# Colorisation (setaf) aléatoire des 0 et 1
chiffre="$[($RANDOM % 4)]"
if [ $chiffre -eq 1 ]
then tput setaf 35
else tput setaf 42
fi

printf "%$((RANDOM%Colonne))s" $((RANDOM%2))

done

Documentation

https://www.commandlinefu.com
https://www.commentcamarche.net/faq/6458-la-commande-tput
https://www.it-connect.fr/linux-gestion-dadressage-du-curseur-avec-tput/
https://unix.stackexchange.com/questions/269077/tput-setaf-color-table-how-to-determine-color-codes
https://i.stack.imgur.com/a2S4s.png
https://www.linuxtricks.fr/news/10-logiciels-libres/293-astuce-pour-repondre-oui-a-toutes-les-questions-d-une-commande-linux/
Man de yes

> Partager <