OS X-Terminalbefehle fett formatieren

OS X-Terminalbefehle fett formatieren

Ich möchte, dass die Befehle, die ich in das Terminal eingegeben habe, sich von der gesamten Ausgabe abheben.

Zum Beispiel:

imac:~ buster$chmod -R gw meinOrdner
imac:~ buster$CD MeinOrdner
imac:myfolder buster$ls -l
insgesamt 0
drwxr-xr-x 9 Root-Administrator 306 20. April 2010 bin
drwxr-xr-x 7 Root-Administrator 238 20. April 2010 include
drwxr-xr-x 73 Root-Administrator 2482 18. Mai 17:16 lib
drwxr-xr-x 6 Root-Administrator 204 20. April 2010 man
imac:myfolder buster$Echo, Go Giants!
Auf geht's, Giants!

Fett fällt mir gleich ein, aber ich würde eine Farbe oder sogar die Hervorhebung der gesamten Linie akzeptieren …

Ich bin sicher, dass es eine Möglichkeit gibt, dies zu tun, aber sie ist mir nicht klar ...

Danke!

Antwort1

Bearbeiten Sie Ihr ~/.bash_profile„oder“ ~/.bashrc(siehe Gilles‘ Kommentar unten) und fügen Sie die folgenden Zeilen hinzu:

BOLD="\[\033[1m\]"
OFF="\[\033[m\]"
PS1="${OFF}\u@\h:\w \$${BOLD}"
PS2="> ${BOLD}"
trap 'echo -ne "${OFF}" > $(tty)' DEBUG

Bewegen Sie das ${BOLD}herum, um einen Teil der Eingabeaufforderung auch fett zu machen. Wenn die Eingabeaufforderung selbst nicht farbig sein soll, benötigen Sie das ${OFF}Präfix in PS1, andernfalls werden leere Zeilen (durch Drücken der Eingabetaste, ohne dass etwas geschrieben wurde) die folgende Eingabeaufforderung fett machen (Danke an @Jay, nochmals vielen Dank!)

Dadurch wird eine Debug-Trap hinzugefügt, um die Fettformatierung zu deaktivieren. Es handelt sich also um einen ziemlichen Hack.Credits(funktioniert jedoch ohne Gruppen-TTY unter OS X).

Das ist ein bisschen ein Hack, verwenden Sie es also auf eigenes Risiko.

Einfacher und genauso gut sichtbar wäre es, wenn Sie Ihre PS1/ -Eingabeaufforderungen fett setzen würden:PS2

BOLD="\[\033[1m\]"
OFF="\[\033[m\]"
PS1="${BOLD}\u@\h:\w \$${OFF}"
PS2="${BOLD}>${OFF} "

Antwort2

Ich hatte ein kleines Problem mit den Lösungen hier bei der Verwendung von El Capitan (insbesondere in iTerm2, aber auch im normalen alten Terminal). Ich habe zwei Arten von Fehlern erhalten:

  1. Die Möglichkeit, meine Bash-Eingabeaufforderung vollständig zu löschen, indem ich einfach die Leertaste und dann die Rücktaste drücke
  2. Unerwünschte Zeichen finden ihren Weg in meine Bash-Ausgabe, z. B. pwdwürde die Eingabe zu

    \[\]/Users/home/Directory
    

    oder in

    \e[0m/Users/home/Directory
    

Ich schlage die folgende Lösung vor, die eigentlich nichts weiter als das Gleiche ist.

    BOLD="\033[1m"
    OFF="\033[m"
    PS1="${OFF}\u@\h :${BOLD}"
    PS2="> ${BOLD}"
    trap 'echo -ne "${OFF}" > $(tty)' DEBUG

verwandte Informationen