ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

howdoi

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


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 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.

Installation

howdoi ist seit Ubuntu 17.04 in den Paketquellen, das Programm kann aber auch einfach via pip lokal für den aktuellen Benutzer installiert werden[1]:

pip3 install --user howdoi 

Wer das Programm systemweit benötigt, muss den obigen Befehl mit Root-Rechten[2] und ohne die Option --user ausführen. In einem virtual environment wird die Option --user auch nicht benötigt.

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:

#!/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.

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, 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.

Diese Revision wurde am 24. Mai 2018 10:57 von BillMaier erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell, Programmierung