# Perdu dans l'echappement de caractère

**URL:** <https://www.debian-fr.org/t/perdu-dans-lechappement-de-caractere/35442>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 4:00 UTC](https://www.debian-fr.org/t/perdu-dans-lechappement-de-caractere/35442 "2016-02-21T04:00:58Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![euridice](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/5fc32e/32.png) [@euridice](https://www.debian-fr.org/u/euridice)\
**Post date:** [Février 21, 2016, 4:00 UTC](https://www.debian-fr.org/t/perdu-dans-lechappement-de-caractere/35442/1 "2016-02-21T04:00:58Z")

</div>

bonjour,  
j’ai le script suivant qui fonctionne et sert a updater ma statusbar, j’utilise dwm.  
j’aimerais la coloriser et la je bloque.  
le script de départ, simplifié pour donner une idée :

`#!/bin/bash
bat(){
ac="$(awk 'NR==1 {print +$4}' <(acpi -V))"
onl="$(grep "on-line" <(acpi -V))"
if [-z "$onl"] && ["$ac" -gt "15"]; then
	echo -e "ï $ac%"
elif [-z "$onl"] && ["$ac" -le "15"]; then
	echo -e "î $ac%"
else
	echo -e "Â AC"
fi
}
xsetroot -name "$(bat)"
`  
le î et Â sont en fait des icones de la font terminus que j’ai modifé, mais c’est sans importance je pense.  
j’ai tenté de remplacer le

```auto
echo -e "î $ac%"
```

par :

```auto
FG='1;31m'
BG='46m'
echo -e " \033[$FG\033[$BG î $ac% \033[0m";
```

mais alors la du coup je me retrouve avec en sortie le \033 qui a été change en \>= (normal c’est le code qui va bien dans ma font…  
$FG et $BG prennent bien leur valeur.  
j’ai bien essayé de me creuser les méninges mais j’ai bien besoin d’utiliser l’option -e de echo pour pouvoir passer le $ac dans le xsetroot, mais dans le même temps si je le met je me retrouve a échapper des caractères que je voudrais pas si je veux de la couleur.  
Il me faudrait “desechapper” des caractères échappés ?

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 4:01 UTC](https://www.debian-fr.org/t/perdu-dans-lechappement-de-caractere/35442/2 "2016-02-21T04:01:03Z")

</div>

Tu n’as oublié les crochets fermants ?

EDIT :  
Tu es sûr que la couleur fonctionne avec ‘echo’ ?  
Perso, mes lignes “colorées” sont écrites avec ‘printf’

---

<div class="post-metadata">

**Author:** ![Totor](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/58f4c7/32.png) [@Totor](https://www.debian-fr.org/u/Totor)\
**Post date:** [Février 21, 2016, 4:01 UTC](https://www.debian-fr.org/t/perdu-dans-lechappement-de-caractere/35442/3 "2016-02-21T04:01:03Z")

</div>

@Ricardo : non, c’est normal pour les crochets fermants car c’est un formalisme pour utiliser des séquences vt100. l’utilisation de echo ou printf n’a pas d’importance.

Cela dit, chez moi ça marche 😕

Ceci devrait être plus fonctionnel :

```auto
echo -e "$(tput setab 6 setaf 1)test\e[0m"
```

setaf : pour préciser la couleur du foreground  
setab : pour préciser la couleur du background

Tu trouveras les valeurs possibles via man 5 terminfo|less +’/The setaf/setab’
