Ich habe ein Shell-Skript, das Folgendes verwendet, um ein grünes Häkchen in seiner Ausgabe zu drucken:
col_green="\e[32;01m"
col_reset="\e[39;49;00m"
echo -e "Done ${col_green}✓${col_reset}"
Nachdem ich über Bashs ANSI-C-Zitat gelesen hatte , wurde mir klar, dass ich es beim Festlegen meiner Farbvariablen verwenden und das -e
Flag aus meinem Echo entfernen konnte .
col_green=$'\e[32;01m'
col_reset=$'\e[39;49;00m'
echo "Done ${col_green}✓${col_reset}"
Dies scheint ansprechend zu sein, da die Nachricht korrekt gedruckt wird, unabhängig davon, ob sie an Bashs eingebautes Echo oder an das externe Dienstprogramm /bin/echo
(ich bin unter macOS) übergeben wird.
Aber macht dies das Skript weniger portabel? Ich weiß, dass Bash und Zsh diese Art des Zitierens unterstützen, aber ich bin mir bei anderen nicht sicher.