Mettre le texte en couleurrouge dans un scrip

Résolu
xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voudrai mettre le texte en couleur rouge sur une ligne dans un script bash dans le terminal.
Je n'arrive pas a mettre le texte de cette ligne en rouge "En pause $temps secondes (Veuillez patienter)"
Je suis sur Debian squeeze 2.6.39.4
Dans mon fichier bash.sh j'ai ceci mais ca fonctionne pas.

temps="20" # Indiquer le temps en secondes
couleurtexterouge="\\033[31m" # Texte de couleur rouge
couleurtexteblanc="echo "\\033[37m"" # Retour a la couleur normal du texte en blanc

echo "\n"
$couleurtexterouge""En pause $temps secondes (Veuillez patienter)" \n
sleep $temps;  
$couleurtexteblanc # Retour a la couleur de texte blanc.
....


Je me mélange les pèdales,
Pouvez vous m'aider avant un exemple simple ?

Merci.

6 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    il faut afficher les codes couleurs
    temps="20" # Indiquer le temps en secondes 
    couleurtexterouge="\\033[31m" # Texte de couleur rouge 
    couleurtexteblanc="\\033[27m" # Retour a la couleur normal du texte en blanc 
    echo -en "\n${couleurtexterouge}En pause $temps secondes (Veuillez patienter)" 
    sleep $temps 
    echo -e "$couleurtexteblanc" # Retour a la couleur de texte blanc. 
    
    0
  2. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    bonjour,

    j'ai trouvé

    temps="20"
    echo -e '\E[31;40m'"\033[1mEn pause $temps secondes (Veuillez patienter)\033[0m"



    txt : couleur du texte, fond : couleur du fond

    # couleur       txt     fond
    # Noir          30      40
    # Rouge         31      41
    # Vert          32      42
    # Jaune         33      43
    # Bleu          34      44
    # Magenta       35      45
    # Cyan          36      46
    # Blanc         37      47 (plutot gris)
    # Defaut        39      49


    Merci.
    0
  3. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonjour,

    Avec ce code bash
    #--------------- INSERTION D'UN FICHIER BASH ----------------  
    source /home/serveur/Domotique/ordres/mysql/insert.sh 
    
    #---------- Partie munuterie avec coloration du texte pour message d'attente de la minuterie ---------- 
    couleurtexterouge="\\033[31m" # Texte de couleur rouge  
    couleurtexteblanc="\\033[37m" # Retour a la couleur normal du texte en blanc  
    echo "\n${couleurtexterouge}En pause $Total secondes. Ne pas fermer cette fenêtre  (Veuillez patienter)"  
    echo "Heure de démarage $heure_on fin dans $(sql7):$(sql8) (Veuillez patienter jusqu'a la fin)" 
    echo "$couleurtexteblanc" # Retour a la couleur de texte blanc. 
    sleep $Total  
    echo ""


    quand je tape
    sh /home/serveur/Domotique/ordres/mysql/minuterie-f3.sh
    le texte est de couleur rouge

    Quand je tape
    bash /home/serveur/Domotique/ordres/mysql/minuterie-f3.sh
    le texte reste blanc, idem quand je tape
    ./minuterie-f3.sh


    Ors dans mon code bash j'utilise "source" qui fonctionne qu'avec bash et non sh.
    Comment puis-je faire dans ce cas-là pour colorier mon texte en rouge ?

    Merci.
    0
  4. Utilisateur anonyme
     
    salut,

    le echo de bash a besoin de l'option -e pour «active[r] l'interpretation des barres contre-obliques d'échappement»,.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonjour,

    J'ai renomé le fichier "minuterie-f3" puis j'ai ajouter le chemin dans $PATH.

    Quand je tape
    minuterie-f3

    Il m'affiche le texte en couleur blanc avec du code couleur en 1er ligne
    \n\033[31mEn pause 4800 secondes. Ne pas fermer cette fenêtre (Veuillez patienter) 
    Heure de démarage 11:59:34 fin dans 01:20 (Veuillez patienter jusqu'a la fin)


    alors que le code bash est
    #--------------- INSERTION D'UN FICHIER BASH ----------------    
    source /home/serveur/Domotique/ordres/mysql/insert.sh   
    
    #---------- Partie minuterie avec coloration du texte pour message d'attente de la minuterie ----------   
    couleurtexterouge="\\033[31m" # Texte de couleur rouge    
    couleurtexteblanc="\\033[37m" # Retour a la couleur normal du texte en blanc    
    echo "\n${couleurtexterouge}En pause $Total secondes. Ne pas fermer cette fenêtre  (Veuillez patienter)"    
    echo -e "Heure de démarage $heure_on fin dans $(sql7):$(sql8) (Veuillez patienter jusqu'a la fin)"   
    echo -e "$couleurtexteblanc" # Retour a la couleur de texte blanc.   
    sleep $Total    
    echo ""


    il devrai m'afficher en rouge
    En pause 4800 secondes. Ne pas fermer cette fenêtre (Veuillez patienter)  
    Heure de démarage 11:09:29 fin dans 01:20 (Veuillez patienter jusqu'a la fin)


    Comment faire ?

    Merci.
    0
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      echo -e "\n${couleurtexterouge}En pause $Total secondes. Ne pas fermer cette fenêtre  (Veuillez patienter)"  
      0
  7. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    Merci, ca marche nikel maintenant.

    #---------- Partie munuterie avec coloration du texte pour message d'attente de la minuterie ---------- 
    couleurtexterouge="\\033[31m" # Texte de couleur rouge  
    couleurtexteblanc="\\033[37m" # Retour a la couleur normal du texte en blanc  
    echo -e "\n${couleurtexterouge}En pause $Total secondes. Ne pas fermer cette fenêtre  (Veuillez patienter)" 
    echo "Heure de démarage $heure_on fin dans $(sql7):$(sql8) (Veuillez patienter jusqu'a la fin)" 
    echo -e "$couleurtexteblanc" # Retour a la couleur de texte blanc. 
    sleep $Total  
    echo ""
    0
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      autre manière de changer la couleur du texte
      tput setaf 1 # en rouge 
      tput setaf 0 # en noir
      tput setab pour changer le fond
      liste des couleurs dans man terminfo
      0