Während die meisten anderen Aspekte dieser Website ein System als ganzes betreffen und sichf die Sicherheit und / oder Flexibilität der Installation auswirken, geht es bei der Shellkonfiguration in erster Linie um Effizienz bezüglich des Tippaufwands und persönliche Präferenzen. Manche Einstellungen sind global sinnvoll, andere sollte jeder Benutzer für sich selber entscheiden.
Mein Eindruck ist, dass die (interaktiv genutzten) Shells mit der größten Verbreitung bash und zsh sind. zsh hat ein paar interessante Features, die bash (noch) nicht hat, und dürfte insgesamt die mächtigere Shell sein, aber das sind überwiegend eher extreme Fälle. bash ist schon so umfangreich, dass ich vielleicht mit 80% der Features gut vertraut bin. Welche dieser beiden Shells man benutzt (oder eine der anderen) ist ganz überwiegend Geschmackssache. Ich nutze zsh nicht; die folgenden Empfelungen und Anregungen beziehen sich deshalb alle auf bash, aber sie sollten ähnlich (teils identisch) in anderen Shells funktionieren.
Die Konfiguration einer Shell umfasst ganz unterschiedliche Aspekte:
Die Ausgabe, die vor / nach der Ausführung einer Kommandozeile erscheint, kann vielfältig konfiguriert werden.
Bearbeiten der Kommandozeile / key bindings
history; Löschen und Einfügen; Cursorbewegungen
Shellfunktionen (de)aktivieren
Beispiele: extglob, globstar, nullglob, verbose, xtrace
Kommandos abkürzen; Kommandozeilen vereinfachen; komplexe Kommandoverbindungen
Vervollständigung von Kommandos und deren Argumenten
screen; tmux; terminator; coreutils
Nicht wirklich Konfiguration, aber ein verwandtes Thema