Kurzer Prompt in Bash und ZSH

Ich versuche, meine Dateien gut organisiert zu halten, damit ich sie leicht finde. Eine Folge davon ist, dass ich mich manchmal durch mehrere Unterordner hangeln muss, um dorthin zu gelangen, wo ich hinwill.
Zum Beispiel, um ein Buch zu öffnen, brauche ich diese Befehle:
julio@julio-acer ~ $ cd /media/externo/Documentos/Ebooks/Programacao/Lisp/Peter Seibel/Practical Common Lisp/
julio@julio-acer /media/externo/Documentos/Ebooks/Programacao/Lisp/Peter Seibel/Practical Common Lisp $ okular Practical Common Lisp.pdf &
Mit Tab‑Completion, autojump‑Plugins (z. B. fasd) und Aliassen in meiner ~/.bashrc ist das
Navigieren nicht kompliziert – so komme ich direkt in den gewünschten Ordner:
alias docs='cd /media/externo/Documentos'
Das Problem ist, dass die Shell‑Eingabeaufforderung den kompletten Pfad anzeigt; in diesem Beispiel sind es nur 8 Ordner mit kurzen Namen, oft aber tiefere Strukturen mit langen Namen, sodass der Pfad den Bildschirm einnimmt.
Bash
Es gibt die Systemvariable PROMPT_DIRTRIM, die die Anzeige des Pfads auf eine maximale Anzahl von
Ordnern begrenzt. Einfach auf die gewünschte Zahl setzen (3 ist ein guter Wert) und der Rest des
Pfades wird durch ... ersetzt.
Beispiel:
julio@julio-acer ~ $ cd /media/externo/Documentos/Ebooks/Programacao/Lisp/Peter Seibel/Practical Common Lisp/
julio@julio-acer /media/externo/Documentos/Ebooks/Programacao/Lisp/Peter Seibel/Practical Common Lisp $ export PROMPT_DIRTRIM=3
julio@julio-acer .../Lisp/Peter Seibel/Practical Common Lisp $ pwd
/media/externo/Documentos/Ebooks/Programacao/Lisp/Peter Seibel/Practical Common Lisp
julio@julio-acer .../Lisp/Peter Seibel/Practical Common Lisp $
Um die Änderung dauerhaft zu machen, diese Zeile zu ~/.bashrc hinzufügen:
export PROMPT_DIRTRIM=3
ZSH
In ZSH gibt es keine Variable $PROMPT_DIRTRIM wie in BASH, aber wir können ein ähnliches Ergebnis
erzielen, indem wir die Variable $PROMPT (=$PS1) bearbeiten:
julio@julio-acer /media/externo/Documentos/Programacao/Web/comp/www/projetos/Sites/gera_curriculo> pwd
/media/externo/Documentos/Programacao/Web/comp/www/projetos/Sites/gera_curriculo
julio@julio-acer /media/externo/Documentos/Programacao/Web/comp/www/projetos/Sites/gera_curriculo> PROMPT='%n@%m %{$fg[$user_color]%}%3c%{$reset_color%}%(!.#.>) '
julio@julio-acer projetos/Sites/gera_curriculo> pwd
/media/externo/Documentos/Programacao/Web/comp/www/projetos/Sites/gera_curriculo
Das Geheimnis ist %3c, das nur die letzten drei Ordner anzeigt.
Um die Änderung standardmäßig zu setzen, diese Variable in ~/.zshrc exportieren:
export PROMPT='%n@%m %{$fg[$user_color]%}%3c%{$reset_color%}%(!.#.>) '
Das Beispielbuch ist eines der besten Einführungsbücher für Common Lisp und kann hier kostenlos eingesehen werden: http://gigamonkeys.com/book/

Ich bin ein brasilianischer Computeringenieur mit Wohnsitz in Deutschland und begeistere mich für Technik, Wissenschaft, Fotografie und Sprachen.
Ich programmiere seit etwa zwei Jahrzehnten und habe dabei alles von mobilen Apps und Webentwicklung bis hin zu Machine Learning erkundet. Derzeit fokussiere ich mich auf Cloud‑SRE und Data Engineering.
Ich engagiere mich ehrenamtlich in den Open‑Source- und Python‑Communities, helfe bei der Organisation der PyCon DE und PyData Berlin, betreue als Mentor und trage mit Code und Übersetzungen bei.
In meinem Blog teile ich Linux‑Tipps, Einrichtungsanleitungen und persönliche Notizen, die ich als spätere Referenz geschrieben habe. Ich hoffe, dass sie auch anderen nützlich sind. Die Inhalte sind in mehreren Sprachen verfügbar.
Schau dir meine Galerie an, um einige meiner Fotografien zu sehen.
Abseits der Tastatur findest du mich auf Konzerten, beim Klarinettenspiel, Radfahren, Tauchen oder beim Erkunden neuer Orte, Kulturen und Küchen.
Ich freue mich immer über den Austausch! 🙂