bash prompt PS1 - PS4

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

bash prompt PS1 - PS4

Beitrag von smutbert » 29.10.2015 09:35:55

Hi,

nachdem ich mir gerade einen neuen Bashprompt PS1 zusammengebastelt habe und auch an PS2 etwas herumgespielt habe, ist mir aufgefallen, dass das Setzen von Farben und Ersetzen von Variablen in PS3 und PS4 überhaupt nicht funktioniert.

Also würde ich euch erstens um konstruktive Kritik dieses PS1 bitten

Code: Alles auswählen

PS1='${debian_chroot:+[$debian_chroot]}\[\033[1;32m\][\[\033[1;$(EXITSTATUS=${?}; [[ ${UID} > 0 ]] && echo 32 || echo 33; exit ${EXITSTATUS})m\]\u\[\033[0;32m\]@\[\033[1;32m\]\h\[\033[0;32m\]:\[\033[1;34m\]\w\[\033[1;32m\]]\[\033[1;$(EXITSTATUS=${?}; [[ ${EXITSTATUS} > 0 ]] && echo 31 || echo 32; exit ${EXITSTATUS})m\][${?}]\[\033[0m\]\$ '
vor allem frage ich mich ob diese beiden Konstrukte unnötig komplex, aufgeblasen oder unübersichtlich sind

Code: Alles auswählen

\[\033[1;$(EXITSTATUS=${?}; [[ ${UID} > 0 ]] && echo 32 || echo 33; exit ${EXITSTATUS})m\]
\[\033[1;$(EXITSTATUS=${?}; [[ ${EXITSTATUS} > 0 ]] && echo 31 || echo 32; exit ${EXITSTATUS})m\]
und warum vergleichbare und sogar einfache Dinge wie

Code: Alles auswählen

[${0}:${LINENO}]
in PS3 und PS4 nicht funktionieren.

edit:
In PS4 funktioniert es doch, aber in PS3 funktioniert dafür überhaupt nichts.

lg smutbert

Antworten