Return-value im Bash-Promt [Aus TID 150535]

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
wanne
Moderator
Beiträge: 7616
Registriert: 24.05.2010 12:39:42

Return-value im Bash-Promt [Aus TID 150535]

Beitrag von wanne » 29.07.2014 23:31:57

Als kleiner Tipp:
Ich habe das in meiner bashrc:

Code: Alles auswählen

PS1='\[\e[1;$(($?==0?32:31))m\][$?]\[\e[0m\] ${debian_chroot:+($debian_chroot)}\[\033[01;36m\]\u@\h\[\033[00m\]:\[\033[01;33m\]\w\[\033[00m\]\$
Dann sehe ich immer ob der letzte befehl erfolgreich war (grün [0]) oder nicht (rot)
(Wird ab dem nächsten neustart der Konsole Wirksam.)
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
muechris
Beiträge: 14
Registriert: 27.07.2014 18:10:14

Re: LVM mit Luks Verschlüsseln

Beitrag von muechris » 02.08.2014 18:21:41

Spitze Idee vielen Dank!

Das war aber auch peinlich hatte "uppercase" jedes mal überlesen und den kompletten Samstag verplempert weil ich den Fehler nicht finden konnte... :facepalm: :mrgreen:

dirk11
Beiträge: 2842
Registriert: 02.07.2013 11:47:01

Re: LVM mit Luks Verschlüsseln

Beitrag von dirk11 » 02.08.2014 23:35:48

Öhm, wanne, die Idee gefällt mir. Kannst du das so separieren, dass es sich ausschliesslich auf das Abschlußzeichen des Prompt (also $ und #) auswirkt?
Ich frage deshalb, weil ich für unterschiedliche Maschinen unterschiedliche Prompt-Farben habe, ebenso für unterschiedliche Anmeldungen (so sieht z.B. mein root anders aus als der Standard-User).
Beispiele:

Code: Alles auswählen

PS1='\[\033[32m\]\u@\h:\[\033[0m\]\[\033[1;34m\]\w\[\033[0m\]\$ '
PS1='\[\033[7;35m\]${debian_chroot:+($debian_chroot)}\u@\h:\[\033[0m\]\[\033[1;34m\]\w\[\033[0m\]\$ '
oder:
PS1='\[\033[1;31m\]\A\[\033[0;33m\]\u@\h:\[\033[0m\]\[\033[1;34m\]\w\[\033[0m\]\$ '
und
PS1='\[\033[7;31;44m\]\t\[\033[0m\]\[\033[7;31m\]\u@\h:\[\033[0m\]\[\033[1;34m\]\w\[\033[0m\]\$ '
Wär toll, wenn du mal kurz erklären könntest, wie ich das bei mir so einbaue, dass eben nur $ und # betroffen wären1

wanne
Moderator
Beiträge: 7616
Registriert: 24.05.2010 12:39:42

Re: LVM mit Luks Verschlüsseln

Beitrag von wanne » 03.08.2014 08:41:09

Interessant ist nur der Teil:

Code: Alles auswählen

\[\e[1;$(($?==0?32:31))m\][$?]\[\e[0m\] 
Der macht den rückgabewert an den Anfang des Promts. Und das \[\e[0m\] sollte dafür sorgen, dss danach alles so weitergeht wie gewohnt.
Entsprechend wäre das ur für dein erstes:

Code: Alles auswählen

PS1='\[\033[32m\]\u@\h:\[\033[0m\]\[\033[1;34m\]\w\[\e[1;$(($?==0?32:31))m\]\$\[\033[0m\]' 
rot: Moderator wanne spricht, default: User wanne spricht.

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: LVM mit Luks Verschlüsseln

Beitrag von dufty2 » 03.08.2014 09:15:37

wanne hat geschrieben: Entsprechend wäre das ur für dein erstes:

Code: Alles auswählen

PS1='\[\033[32m\]\u@\h:\[\033[0m\]\[\033[1;34m\]\w\[\e[1;$(($?==0?32:31))m\]\$\[\033[0m\]' 
Penetrantisch korrekt fehlt vorm abschließenden ' noch ein Leerzeichen ;)
dirk11 wie auch ich wollen wie im default ein Leerzeichen vor der Eingabe haben.
Die Geschmäcker sind halt verschieden ...

Antworten