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`
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".
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
)
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"