howdoi
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
howdoi (gesprochen: "How do I", auf deutsch: "Wie mache ich") ist eine in Python geschriebene Kommandozeilenapplikation, mit der sich schnell Lösungen zu (einfachen) Programmierproblemen recherchieren lassen.
Dazu übergibt man howdoi die gewünschten Suchbegriffe, dann wird damit im Hintergrund eine Google-Suche bei Stackoverflow 🇬🇧 gemacht und das Ergebnis ausgegeben. Wo und wie gesucht wird, kann aber auch über Umgebungsvariablen beeinflusst werden.
howdoi arbeitet rein auf der Kommandozeile, es wird also keine graphische Umgebung oder ein Browser vorausgesetzt. Aber natürlich ist eine Internetverbindung notwendig.
Installation¶
Es gibt zwar in den Paketquellen ein Paket howdoi (universe), allerdings ist die darin enthaltene Version des Programms stark veraltet, sodass viele Fehler auftreten können. Darum sollte via pip installiert werden.
Der Python-Paketmanager pip stellt häufig aktuellere Versionen von Programmen als in den Paketquellen bereit. Folgendermaßen lässt sich das Programm darüber installieren:
pip3 install howdoi # Programm wird nur für den aktuellen Nutzer installiert
Ab Ubuntu 23.04 muss in eine virtuelle Umgebung für Python installiert werden:
python3 -m venv venv-name && source venv-name/bin/activate # venv-name durch den gewünschten Namen ersetzen pip3 install howdoi # Programm ist nur bei aktiver virtueller Umgebung nutzbar
Hinweis!
Fremdsoftware kann das System gefährden.
Nutzung¶
Die allgemeine Syntax von howdoi lautet:
howdoi [OPTIONEN] SUCHBEGRIFFE
SUCHBEGRIFFE
sind dabei die Begriffe, die das Problem beschreiben, nach dem man Suchen möchte. Idealerweise sind die Suchbegriffe auf Englisch. Im folgenden Beispiel wird danach gesucht, wie man in der Bash prüft, ob eine Datei existiert:
howdoi test if file exists bash
Ergebnis:
if [ ! -f /tmp/foo.txt ]; then echo "File not found!" fi
Im zweiten Beispiel wird danach gesucht, wie man in Ruby einen String formatiert:
howdoi format string ruby
Ergebnis:
ame1 = "John" name2 = "Mary" "hello, #{name1}. Where is #{name2}?"
Standardmäßig gibt howdoi genau ein Suchergebnis aus.
Optionen¶
Die Ausgabe von howdoi kann über die folgenden Optionen beeinflusst werden:
Optionen von howdoi | |||
Option | Erklärung | ||
-a , --all | Gibt nicht nur den Befehl / Code aus, sondern den ganzen Text der Antwort. | ||
-l , --link | Gibt als Ergebnis nur den Link auf den Diskussionsthread zurück, in dem die Antwort enthalten ist. | ||
-p N , --pos N | Gibt als Ergebnis den N-ten Suchtreffer zurück. Voreinstellung für N ist 1 | ||
-n ANZAHL | Gibt ANZAHL Ergebnise zurück. Voreinstellung für ANZAHL ist 1. | ||
-c | Die Ausgabe des Ergebnisses ist farbig / mit Syntaxhervorhebung | ||
-C , --clear-cache | Löscht den internen Suchcache von howdoi |
Umgebungsvariablen für howdoi setzen¶
Das Suchverhalten von howdoi kann über einige Umgebungsvariable beeinflusst werden. So würde z.B.
export HOWDOI_URL=askubuntu.com
die Suche standardmäßig bei askubuntu.com
durchführen
Umgebungsvariablen von howdoi | |||
Variable | Erklärung | ||
HOWDOI_URL | URL, bei der howdoi sucht. Voreingestellt ist stackoverflow.com , als Werte können die URLs der auf stackexchange.com 🇬🇧 aufgeführten Webseiten angegeben werden | ||
HOWDOI_SEARCH_ENGINE | Suchmaschine, welche von howdoi genutzt wird. Voreingestellt ist Google, die anderen Option ist Bing. | ||
HOWDOI_COLORIZE | Wird die Variable auf true gesetzt, erscheint die Ausgabe immer farbig (auch ohne Angabe der Option -c ). | ||
HOWDOI_DISABLE_CACHE | Wird die Variable auf true gesetzt, wird das Caching von howdoi deaktiviert. |
Cache manuell löschen¶
howdoi legt standardmäßig einen Cache an, in dem Suchergebnisse gespeichert werden. Stellt man die gleiche Anfrage erneut, erhält man das Ergebnis aus dem Cache, was schneller ist, weil keine Webabfrage nötig ist.
Das Programm verwendet eine SQLite Datenbank und Dateien, welche jeweils im Homeverzeichnis des Nutzers unter .cache/howdoi liegen. Löscht man die Dateien, ist auch der Cache gelöscht. Alternativ kann man den Cache auch über die oben genannte Option -C
löschen.
Links¶
Projektseite 🇬🇧
Hinweise 🇬🇧 zur fortgeschrittenen Nutzung von howdoi