Depuis les attentats du 13 novembre à Paris, le monde entier s'est mis aux couleurs de la France. Il n'y a pas de raison que les développeurs y échappent ☮
$ t=$(($(tput cols)/3));for FR in $(seq $(tput lines));do printf "\e[44m%${t}s\e[47m%${t}s\e[41m%${t}s\n";done
Ça rend plutôt bien :
Mais que fait cette ligne de code ? Décorticons-là :
# Il faut savoir que les dimensions du terminal (ou la console) sont représentées
# en nombre de colonnes et de lignes.
# `tput cols` retourne le nombre de colonnes du terminal.
# On divise par 3 pour avoir les 3 espaces alloués, un pour chaque couleur du drapeau.
t=$(( $(tput cols) / 3 ))
# On parcourt chaque ligne du terminal.
# `tput lines` retourne le nombre de lignes du terminal.
for FR in $(seq $(tput lines)); do
# Le premier tiers, on colore le fond en bleu
# La syntaxe est particulière :
# \e[44m représente la couleur
# %${t}s représente le nombre de caractères à inscrire
# Ici, on inscrit $t caractères, soit 1/3 du terminal.
printf "\e[44m%${t}s"
# Second tiers, on colore le fond en blanc
printf "\e[47m%${t}s"
# Dernier tiers, on colore le fond en rouge
printf "\e[41m%${t}s"
# Retour à la ligne
printf "\n"
done
Nous aurions voulu faire le drapeau libanais, mais il comporte un motif bien complexe...
R.I.P..
Source : Command Line Magic sur Twitter (un chouilla modifiée)