Jump to content

Archived

This topic is now archived and is closed to further replies.

_Plouf_

de la couleur !

Recommended Posts

Allez un peu de couleur dans la console

vous tapez ta ça dans une console

(une seule ligne à la foi bien sur)

PS1="\e[1;30m[\u@\h \W]\\$ \e[0m"  invite noire
PS1="\e[1;31m[\u@\h \W]\\$ \e[0m"  invite rouge
PS1="\e[1;32m[\u@\h \W]\\$ \e[0m"  invite verte
PS1="\e[1;33m[\u@\h \W]\\$ \e[0m"  invite jaune
PS1="\e[1;34m[\u@\h \W]\\$ \e[0m"  invilte bleue
PS1="\e[1;35m[\u@\h \W]\\$ \e[0m"  invite "violete"
PS1="\e[1;36m[\u@\h \W]\\$ \e[0m"  invite bleu ciel
PS1="\e[1;37m[\u@\h \W]\\$ \e[0m" invite blanche

Et si ça vous plait en user (exemple avec le noir)

La couleur deviendra permanente pour la changer il vous

faudra bien sur éditer votre ~/.bashrc avec votre éditeur favori

echo 'PS1="\e[1;30m[\u@\h \W]\\$ \e[0m"' >> ~/.bashrc

Share this post


Link to post
Share on other sites

J'avais déjà expliqué comment on fait ici : http://www.pcinpact.com/forum/index.php?sh...5entry1175305

Tu as aussi le gras.

Le problème c'est que cette solution pue et ne concerne que bash.

Pour ecrire en couleurs, on peut utiliser :

 tput setaf 0; echo un texte en couleur
 tput setaf 1; echo une autre couleur
 tput setaf 2; echo une troisiemme

man 5 termcap pour des infos là dessus.

Ensuite en gardant les variables, on peut définir (suivant comment c'est réglé chez l'user) :

black=$(tput setaf 0)
green=$(tput setaf 1)
yellow=$(tput setaf 2)

Puis

export PS1=$green\u@$green\w $black\$

Share this post


Link to post
Share on other sites

J'avais déjà expliqué comment on fait ici : http://www.pcinpact.com/forum/index.php?sh...5entry1175305

Tu as aussi le gras.

Le problème c'est que cette solution pue et ne concerne que bash.

Pour ecrire en couleurs, on peut utiliser :

 tput setaf 0; echo un texte en couleur
 tput setaf 1; echo une autre couleur
 tput setaf 2; echo une troisiemme

man 5 termcap pour des infos là dessus.

Ensuite en gardant les variables, on peut définir (suivant comment c'est réglé chez l'user) :

black=$(tput setaf 0)
green=$(tput setaf 1)
yellow=$(tput setaf 2)

Puis

export PS1=$green\u@$green\w $black\$

Bon a savoir !!

Je vais remplacer par mon code actuel, car souvent ca m'ocasionne du multiligne buggé

Par contre, quelle difference entre

man termcap

et

man 5 termcap

??

Share this post


Link to post
Share on other sites

man 5 termcap désign l'entrée termcap du 5ieme chapitre du manuel

man termcap désigne la première entrée de termcap dans le manuel :ouioui:

Share this post


Link to post
Share on other sites

man 5 termcap désign l'entrée termcap du 5ieme chapitre du manuel

man termcap désigne la première entrée de termcap dans le manuel :ouioui:

Merci :ouioui:

D'ailleurs, c dit dans le manuel que termcap est obsolete et qu'il faut se tourner vers terminfo :craint:

Autre question, avec les couleurs bash, j'arrive a 16 couleurs (sans compter les fonds de caractere), mais la, je n'en vois que 8, y'a moyen d'avoir les 8 autres avec tput ?

PS : j'ai toujours un probleme avec le multiligne, quelqu'un peut me dire ce qui ne va pas la dedans ?

#!/bin/sh

black=$(tput setaf 0)
red=$(tput setaf 1)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
blue=$(tput setaf 4)
purple=$(tput setaf 5)
cyan=$(tput setaf 6)
white=$(tput setaf 7)




#Code couleur du user (selon si il est root ou pas)
PS_HOST_COLOR=${cyan}

if [ $(id -u) -eq 0 ]
then
	PS_USER_COLOR=${red}
else
	PS_USER_COLOR=${blue}
fi


export PS1=$PS_USER_COLOR'\u'$PS_HOST_COLOR'@\h:'$purple'\w'$yellow'\$'$white' '

Ne me demandez pas pourquoi j'utilise des ' ' dans mon PS1, mais si je ne mets rien ca plante et si je met des " ", le \$ ne passe pas (si quelqu'un a une idée :pleure:)

Share this post


Link to post
Share on other sites
man 5 termcap désign l'entrée termcap du 5ieme chapitre du manuel

man termcap désigne la première entrée de termcap dans le manuel :francais:

Voila et man -a quand on ne sait pas (man -a termcap)

man man (pour éviter de faire défiller les 10 000++ lignes de man gcc) :francais:

16ar : chez moi ça fonctionne.

Deux idées :

1/ quelle version de bash ?

2/ sans le #!/bin/sh au début ?

Share this post


Link to post
Share on other sites

Sous zsh pour les couleurs c'est simple :

 $ autoload -U colors; colors
$ echo "$fg_bold[red]test$reset_color n°1"

(par contre ça marche mal pour le prompt de zsh, pour ça il vaut mieux utiliser les commandes de prompt spécifiques à zsh)

Share this post


Link to post
Share on other sites
s/zsh/bash/ ?

Ou alors j'ai rien compris.

T'as rien compris :transpi:

Share this post


Link to post
Share on other sites

...

man man (pour éviter de faire défiller les 10 000++ lignes de man gcc) :vomi1:

...

HS :

lines 6730-6782/6782 (END)

y a des courageux, quand même...

Share this post


Link to post
Share on other sites
HS :
lines 6730-6782/6782 (END)

y a des courageux, quand même...

Ah? j'en ai plus, moi :

lines 10475-10497/10497 (END)

(gcc-4.0.2)

Share this post


Link to post
Share on other sites

:ouioui:

Javais vu plus de 10 000 (comme tuXXX) quand j'avais posté, et là je re regarde et je vois plus de 7000 (comme lorinc).

Bon, il est temps que j'aille me coucher ;)

Share this post


Link to post
Share on other sites
man 5 termcap désign l'entrée termcap du 5ieme chapitre du manuel

man termcap désigne la première entrée de termcap dans le manuel :yes:

Voila et man -a quand on ne sait pas (man -a termcap)

man man (pour éviter de faire défiller les 10 000++ lignes de man gcc) :yes:

16ar : chez moi ça fonctionne.

Deux idées :

1/ quelle version de bash ?

2/ sans le #!/bin/sh au début ?

1 : $ bash --version

GNU bash, version 3.1.5(1)-release (i486-pc-linux-gnu)

Copyright © 2005 Free Software Foundation, Inc.

2 : avec ou sans, ca déconne. C'est dans mon fichier nommé /etc/shell.color, et je fous un

source /etc/shell.color

dans le /etc/bash.bashrc

Pour voir si le multilgne déconne, j'ecris assez de caractere pour ecrire sur 2 lignes.

Et si jamais la deuxieme ligne s'inscrit sur la premiere, bingo, c'est le bug que j'ai.

Share this post


Link to post
Share on other sites

C'est quoi le problème exactement ?

Qu'est ce que tu appelles multilignes ?

Qu'est ce qu'il t'affiche en prompt ? Tout sauf le \$ avec les bonnes couleurs ?

Share this post


Link to post
Share on other sites

C'est quoi le problème exactement ?

Qu'est ce que tu appelles multilignes ?

Qu'est ce qu'il t'affiche en prompt ? Tout sauf le \$ avec les bonnes couleurs ?

Je pense que son problème et je l'ai déjà eu mais plus à cause d'outils graphique lancer depuis le bash, en fait si sa ligne de commande est trop grande cela normalement revient à la ligne alors que lui cela réécrit par dessus la même ligne ...

Je ne connais pas la solution (moi je l'est fait à la barbare Réinstal du Term .. :iloveyou: ) :francais:

Share this post


Link to post
Share on other sites

C'est quoi le problème exactement ?

Qu'est ce que tu appelles multilignes ?

Qu'est ce qu'il t'affiche en prompt ? Tout sauf le \$ avec les bonnes couleurs ?

Guys a compris mon probleme de multiligne :

En effet, si ma ligne de commande est trop grande (ce qui arrive souvent :francais:), au lieu que la suite du texte s'ecrive sur la ligne suivante, elle s'ecrit en début de ligne, mais sur la meme ligne (en gros ca me reecrit par dessus mon prompt) et si jamais je reviens en arriere, ca remonte d'une ligne :iloveyou:

Pour le probleme du \$, c'est autre chose, et c'est reglé par la mise en simple quote ' au lieu d'utiliser des doubles quotes ". Mais j'ai pas compris pourquoi, donc si quelqu'un a une idée, je suis preneur aussi :)

En gros :

PS1=$PS_USER_COLOR'\u'$PS_HOST_COLOR'@\h:'$purple'\w'$yellow'\$'$white' '

Ca, ca marche.

PS1=$PS_USER_COLOR'\u"$PS_HOST_COLOR"@\h:"$purple"\w"$yellow"\$"$white" "

La, le \$ reste $, que je soit loggé en root ou en user

PS1=$PS_USER_COLOR'\u$PS_HOST_COLOR@\h:$purple\w${yellow}\$ $white

Ca me lache un

bash: export: `': not a valid identifier

quand je relance bash ...

Voila voila :)

Share this post


Link to post
Share on other sites

×
×
  • Create New...