web-dev-qa-db-fra.com

Pourquoi le code de notification d'état personnalisé Byobu ne s'affiche pas en couleur?

Le code ci-dessous fonctionne bien dans Bash et affiche du texte avec une couleur d'arrière-plan verte appropriée, mais lorsque je l'ajoute au ~/.byobu/bin/ dossier, il montre les caractères d'échappement à la place. Quelque chose comme [42m [1mAAPL: 30.345 (B [m

#!/bin/sh
echo `tput setab 2;tput bold`AAPL:`curl -s 'http://download.finance.yahoo.com/d/quotes.csv?s=AAPL&f=sl1d1t1c1ohgv&e=.csv' | cut -d, -f2;tput sgr0`
4
BuZain

Si vous utilisez le backend tmux pour byobu, vous devrez utiliser un format différent pour les codes de couleur. Heureusement, c'est moins compliqué que le format screen.

Pour définir les couleurs, utilisez #[<color and attribute codes>]. Exemples:

  • #[default]: restaure les couleurs par défaut (à utiliser à la fin de votre statut personnalisé).
  • #[fg=red]: définissez la couleur de premier plan sur rouge.
  • #[fg=#ff0000]: définissez la couleur de premier plan sur #ff0000. Accepte uniquement les minuscules - FF0000 ne fonctionnera pas.
  • #[bg=black]: rend le fond noir.
  • #[fg=bold]: met le texte en gras . Voir ci-dessous pour en savoir plus.
  • #[reverse]: échange les couleurs de premier plan/arrière-plan.

Vous pouvez les combiner, par ex. #[fg=white,bold,bg=black].

Couleurs nommées: black, red, green, yellow, blue, Magenta, cyan, white, black, brightblack, brightred, brightgreen, brightyellow, brightblue , brightmagenta, brightcyan, brightwhite

Attributs: dim, underscore, bold, reverse, standout, blinking, hidden , italics

Vous pouvez également utiliser les variables d'environnement $BYOBU_LIGHT, $BYOBU_DARK, $BYOBU_ACCENT, et $BYOBU_HIGHLIGHT comme couleurs.


Pour jouer avec cela, créez un fichier, ~/.byobu/bin/1_hello avec le contenu suivant et le rendre exécutable.

#!/bin/sh
echo "#[reverse]Hello world#[default]"

Cela devrait créer une notification d'état en noir sur blanc indiquant "Bonjour tout le monde".


A few custom status notifications for byobu

Voici deux exemples de composants de barre d'état personnalisés et les codes qui les produisent:

  • #[fg=#aa77cc,bg=#222222] @XXX.XX #[default]
  • #[fg=white,bg=black] ✉ ️X #[default]

Cette information ne fonctionnera probablement que si vous utilisez tmux et un Shell à couleurs activées :)


(Sources: /usr/lib/byobu/include/colors, /usr/lib/byobu/include/shutil)

4
Xkeeper

Vous avez besoin d'autres spécificateurs de couleur dans l'écran (voir Page de manuel de l'écran (1) ). Donc, vous devez d'abord enregistrer la valeur dans une variable:

AAPL=$(curl -s 'http://download.finance.yahoo.com/d/quotes.csv?s=AAPL&f=sl1d1t1c1ohgv&=.csv' | cut -d, -f2)

Et dans la deuxième étape, vous pouvez le sortir avec printf:

printf "\005{= b}%s%s\005{-}" "AAPL: " "$AAPL"
1
qbi