Schlagwort-Archiv: bash

Wie ein fish im Wasser

Seit über 30 Jahren nutze ich Linux, und knapp 25 Jahre davon war die bash meine Shell. Ein eigener Prompt, der das aktuelle Verzeichnis farbig anzeigte, was das Maß der Dinge :-)

Mein Umstieg auf die zsh hatte mit Git zu tun: Die zsh in Kombination mit der Erweiterung Oh my zsh gibt im Prompt direktes Feedback über den Zustand des Repositories (aktiver Zweig, offene Änderungen). Außerdem agiert die zsh in vielen Details »intelligenter« (ein viel strapazierter Begriff, ich weiß) als die bash. Es macht ein wenig Arbeit, bis alles so funktioniert wie es soll, aber ich war glücklich mit meinem Setup.

Seit ein paar Monaten habe ich die Default-Shell meiner wichtigsten Linux-Installationen neuerlich gewechselt. Ich gehöre jetzt zum rasch wachsenden Lager der fish-Fans. fish steht für Friendly Interactive Shell, und die Shell wird diesem Anspruch wirklich gerecht. fish bietet von Grund auf eine Menge Features, die zsh plus diverse Plugins inklusive Oh my zsh erst nach einer relativ mühsamen Konfiguration beherrschen. Die Inbetriebnahme der fish dauert bei den meisten Distributionen weniger als eine Minute — und die Defaultkonfiguration ist so gut, dass weitere Anpassungen oft gar nicht notwendig sind. Und sollte das doch der Fall sein, öffnet fish_config einen komfortablen Konfigurationsdialog im Webbrowser (außer Sie arbeiten in einer SSH-Session).

Die Stärken der fish im Vergleich zu bash und zsh haben aus meiner Sicht wenig mit der Funktionalität zu tun; einige Features der fish lassen sich auch mit bash-Hacks erreichen, fast alle mit zsh-Plugins. Der entscheidende Vorteil ist vielmehr, dass die fish out of the box zufriedenstellend funktioniert. Für mich ist das deswegen entscheidend, weil ich viele Linux-Installationen verwende und keine Zeit dafür habe, mich jedesmal mit dem Shell-Setup zu ärgern. Deswegen hatte ich in der Vergangenheit auf meinen wichtigsten Installationen zsh samt einer maßgeschneiderten Konfiguration, auf allen anderen aber der Einfachheit halber die bash oder eine unkonfigurierte zsh-Installation.

Auf den ersten Blick sieht die »fish« aus wie jede andere Shell

Wie ein fish im Wasser weiterlesen

Programmieren im Zeitalter von ChatGPT

ChatGPT ist in aller Munde. Es formuliert in flüssigem Deutsch oder Englisch Hausaufgaben, löst Philosophie-Wiederholungsfragen und fügt bei Bedarf frei erfundene Quellen hinzu, damit der Text seriöser/wissenschaftlicher wirkt. Wenn man das Programm hinweist, dass 2+3 keineswegs 5 ist, entschuldigt es sich höflich für seinen Fehler. Kurzum, Bananen-Software, reift beim Anwender? Ich bin nicht dieser Meinung.

Trotz aller Unzulänglichkeiten schätze ich das Programm mittlerweile so sehr, dass ich bereit wäre, für seine Anwendung zu zahlen. Bisher war das nicht notwendig. Mit ein paar Versuchen ist mir der Login noch jedes Mal gelungen, auch bei angeblich unerwartet hoher Auslastung.

Nun zähle ich nicht zu den Twitter- oder YouTube-Enthusiasten, die Ihnen versprechen, mit ChatGPT 10 x produktiver zu arbeiten oder 10.000 EUR pro Monat extra zu verdienen. Blödsinn! Aber ich bin mittlerweile überzeugt, dass mir ChatGPT mehr Zeit erspart, als ich brauche, um die ca. 23 EUR zu verdienen, die ChatGPT Plus aktuell pro Monat kostet. Und ich bin schon sehr gespannt, welche KI-Tools als Nächstes kommen!

Programmieren im Zeitalter von ChatGPT weiterlesen

Update: Linux on Windows (WSL) für Windows 1703

Zweimal habe ich mir das Windows Subsystem for Linux (WSL), umgangssprachlich Linux on Windows schon angesehen: Das erste Mal vor knapp einem Jahr hier im Blog, ein zweites Mal im Herbst 2016 für derstandard.at. Insofern beschränke ich mich hier auf eine Zusammenfassung der Features, die sich seither geändert haben.

Update: Linux on Windows (WSL) für Windows 1703 weiterlesen

bash_completion in Ubuntu 15.10

Wenn Sie im Terminal die Tabulator-Taste drücken, vervollständigt die bash normalerweise Ihre begonnene Eingabe. apt-get dist-upg <Tab> wird zu apt-get dist-upgrade. Diese Funktion heißt bash_completion — und obwohl das betreffende Paket in Ubuntu 15.10 installiert ist, funktioniert es nicht. Schuld ist eine fehlerhafte Einstellung in /etc/bash.bashrc. Laden Sie diese Datei also in einen Editor und entfernen Sie vor den folgenden Zeilen jeweils das Kommentarzeichen #, das dort aus unerfindlichen Gründen enthalten ist.

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Update 2.12.2015: Wie in den Kommentaren korrekt angemerkt, funktioniert die bash_completion normalerweise sehr wohl. Beim Einrichten eines neuen Benutzers wird /etc/skel/.bashrc in das Heimatverzeichnis des Benutzers kopiert. Diese Datei enthält die richtigen Einstellungen für die bash_completion. Bei mir hat es deswegen nicht funktioniert, weil ich den Benutzer-Account von einer anderen Linux-Distribution übernommen habe. Dessen Datei .bashrc enthielt aber andere Einstellungen.