C'est en parcourant le site commandlinefu.com que je suis par hasard tombé sur ces lignes de commandes amusantes. 

Note : Il suffit de copier/coller ces lignes dans un terminal pour en visualiser le résultat. Sauf une très mauvaise manipulation de votre part, ces commandes ne présentent aucun risque.

Nous allons donc voir trois méthodes différentes qui permettent de faire défiler des caractères dans un terminal, dans le but d'imiter ce qui apparait sur l'écran de l'ordinateur de Néo dans le film Matrix :

- Une première façon de faire, postée par Allinurl, donne une idée de ce qu'il est possible d'obtenir en utilisant "tr", "urandom" "dd" et "grep". Le réalisme n'est pas le meilleur mais y a de l'idée :

tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"

- Une autre méthode postée par Patola, permet d'afficher seulement les caractères 0 et 1 en utilisant cette fois une boucle "while", "seq", la variable "$RANDOM" et une condition "if". Plus gourmande en ressource mais également un poil plus réaliste :

echo -e "\e[32m"; while $t; do for i in `seq 1 30`;do r="$[($RANDOM % 2)]";h="$[($RANDOM % 4)]";if [ $h -eq 1 ]; then v="\e[1m $r";else v="\e[2m $r";fi;v2="$v2 $v";done;echo -e $v2;v2="";done;

- Enfin, une dernière méthode, postée par Dennisw, similaire à la façon de faire précédente mais offrant un résultat qui me semble plus convaincant bien que l'affichage soit un petit peu trop rapide à mon goût :

echo -e "\e[32m"; while :; do for i in {1..60}; do r="$(($RANDOM % 2))"; if [[ $(($RANDOM % 5)) == 1 ]]; then if [[ $(($RANDOM % 4)) == 1 ]]; then v+="\e[1m $r "; else v+="\e[2m $r "; fi; else v+=" "; fi; done; echo -e "$v"; v=""; done


Bien sûr, tout ceci est perfectible mais c'est quand même amusant de voir ce que l'on peut faire en quelques lignes de Bash. Comme quoi, il en faut peu pour s'amuser ;-)