lima-city: Webhosting, Domains und Cloud
1 Pluspunkt 0 Minuspunkte

Wie kann ich farbigen Text in Bash ausgeben?

#!/bin/bash

# Alle Container-Namen (auch gestoppte Container, falls gew  nscht)
containers=$(docker ps -a --format '{{.Names}}')

# Durchlaufe alle Container
for name in $containers; do

    conf_file="/etc/nginx/sites-available/$name.conf"    
    if [[ -f "$conf_file" ]]; then
        echo "[$name] $conf_file"
    else
        echo "[$name] Keine Konfigurationsdatei gefunden"
    fi
done

Wenn keine Konfigurationsdatei gefunden wurde soll der Text rot sein, sonst grün.

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

In Bash kannst du farbigen Text mit Escape Sequenzen ausgeben. Für grün und rot kannst du z. B. folgende Sequenzen verwenden:

  • Grün: \e[32m
  • Rot: \e[31m
  • Zurücksetzen: \e[0m (wichtig, um danach wieder zur normalen Farbe zurückzukehren)

#!/bin/bash

# Farben definieren
RED="\e[31m"
GREEN="\e[32m"
RESET="\e[0m"

# Alle Container-Namen (auch gestoppte Container, falls gewünscht)
containers=$(docker ps -a --format '{{.Names}}')

# Durchlaufe alle Container
for name in $containers; do
    conf_file="/etc/nginx/sites-available/$name.conf"
    if [[ -f "$conf_file" ]]; then
        echo -e "${GREEN}[$name] $conf_file${RESET}"
    else
        echo -e "${RED}[$name] Keine Konfigurationsdatei gefunden${RESET}"
    fi
done
von (703 Punkte)