Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
howdoi (gesprochen: "How do I", auf deutsch: "Wie mache ich") ist eine in Python geschrieben 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 ausgeben. 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.
Das Paket ist seit Ubuntu 17.04 in den Paketquellen.
howdoi (universe, seit Ubuntu 17.04)
Befehl zum Installieren der Pakete:
sudo apt-get install howdoi
Oder mit apturl installieren, Link: apt://howdoi
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
Fremdsoftware kann das System gefährden.
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:
#!/bin/bash if [ -e x.txt ] then echo "ok" else echo "nok" fi
Im zweiten Beispiel wird danach gesucht, wie man in Ruby einen String formatiert:
howdoi format string ruby
Ergebnis:
name1 = "John" name2 = "Mary" "hello, #{name1}. Where is #{name2}?"
Standardmäßig gibt howdoi genau ein Suchergebnis aus. Unpraktisch ist, dass das Programm bei mehrzeiligen Lösungen keine Zeilenumbrüche darstellt, wodurch die Ausgabe schlechter lesbar ist.
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 |
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. |
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, welche jeweils im Homeverzeichnis des Nutzers unter .cache/howdoi liegt. Löscht man die Datei, ist auch der Cache gelöscht. Alternativ kann man den Cache auch über die oben genannte Option -C
löschen.