J'ai un script shell qui utilise ce qui suit pour imprimer une coche verte dans sa sortie:
col_green="\e[32;01m"
col_reset="\e[39;49;00m"
echo -e "Done ${col_green}✓${col_reset}"
Après avoir lu sur la citation ANSI-C de Bash , j'ai réalisé que je pouvais l'utiliser lors de la définition de mes variables de couleur et supprimer le -e
drapeau de mon écho .
col_green=$'\e[32;01m'
col_reset=$'\e[39;49;00m'
echo "Done ${col_green}✓${col_reset}"
Cela semble attrayant, car cela signifie que le message s'imprime correctement, qu'il soit transmis à l' écho intégré de Bash ou à l'utilitaire externe /bin/echo
(je suis sur macOS).
Mais cela rend-il le script moins portable? Je sais que Bash et Zsh supportent ce style de citation, mais je ne suis pas sûr des autres.