J'essayais d'obtenir des couleurs quand on exécute shellcheck <file> | less
sous Linux, j'ai donc essayé les réponses ci-dessus, mais elles produisent cet effet bizarre où le texte est décalé horizontalement par rapport à l'endroit où il devrait être :
In ./all/update.sh line 6:
for repo in $(cat repos); do
^-- SC2013: To read lines rather than words, pipe/redirect to a 'while read' loop.
(Pour ceux qui ne sont pas familiers avec shellcheck, la ligne avec l'avertissement est censée être alignée avec l'endroit où se trouve le problème).
Pour que les réponses ci-dessus fonctionnent avec shellcheck, j'ai essayé l'une des options proposées dans les commentaires :
faketty() {
0</dev/null script -qfc "$(printf "%q " "$@")" /dev/null
}
Cela fonctionne. J'ai également ajouté --return
et utilisé des options longues, pour rendre cette commande un peu moins impénétrable :
faketty() {
0</dev/null script --quiet --flush --return --command "$(printf "%q " "$@")" /dev/null
}
Fonctionne en Bash et Zsh.