Surfing on Shell
Suchmaschinen abfragen in der Kommandozeile
Optionen
Wenden wir uns nun der zweiten Datei mit dem Namen /etc/surfraw_elvi.list zu. Sie enthält eine Liste der abrufbaren Suchmaschinen. Jeder Suchmaschine entspricht ein gleichnamiges Shell-Skript im Pfad /usr/local/bin bzw. /usr/bin.
Sobald Sie ein Skript mit der Option -help auf der Kommandozeile aufrufen, listet es Ihnen seine möglichen Parameter auf (global options). Einige Skripte wie beispielsweise google verfügen zudem über spezielle local options (Abbildung 1).
In den global options spiegeln sich ein paar Variablen aus /etc/surfraw.conf wider. Der erste Punkt -browser= ruft einen von Ihnen gewählten Web-Browser auf – unabhängig davon, was Sie in der Datei ~/.surfraw.conf definiert haben. Mit -elvi gelangen Sie zur Liste der Suchmaschinen/Shell-Skripte. Die Option -g startet den grafischen Web-Browser, falls Sie ihn durch den Eintrag SURFRAW_graphical=no in ~/.surfraw.conf ausgeschaltet haben.
Das Gegenstück zur Option -g ist -t: Damit bekommen Sie auch im Xterm den schlanken Text-Browser anstelle eines aufgeblasenen GUI-Monsters. Das Argument -escape-url-args= regelt das Maskieren von Zeichen in einer URL, die für die Shell eine besondere Bedeutung haben.
Die local options fallen von Skript zu Skript unterschiedlich aus. Als Beispiel nehmen wir weiterhin google. Über den Parameter -results= definieren Sie die Anzahl der ausgegebenen Resultate eines Treffers. Der Punkt -search= bringt die Suche in den Topic-Modus. Über den werden wahlweise relevante Web-Seiten mit Bezug zu BSD (bsd), Linux (linux), Apple Macintosh (mac) und der US-Regierung (unclesam) angezeigt. So liefert Ihnen Ihr Browser über den Befehl
google -results=100 -search=unclesam linux tcpa
in den ersten hundert Treffern zu den Wörteren linux und tcpa, was im Web-Forum der National Security Agency (NSA) zu diesem Thema gesagt wird.
Heimwerker
Was liegt näher, als ein Skript-basiertes Tool den eigenen Bedürfnissen anzupassen? Freilich ist das Angebot mit über 40 Suchmaschinen nicht gering. Wer aber trotzdem das eine oder andere vermisst, kann sich einen eigenen Elvi (so heißen die Such-Skripte) basteln. Voraussetzung ist lediglich Grundwissen über Shell-Programmierung. Der Surfraw-Tarball enthält mit der Datei HACKING auch eine Anleitung zum Elvi-Bau.
Wenn Ihnen die Arbeit zu schwierig erscheint, nehmen Sie sich das Skript in Listing 1 als Vorlage. Mit seiner Hilfe graben Sie in der Datenbank des LinuxUser nach Tipps in unseren Online-Artikeln. Um Ihnen das Abschreiben zu ersparen, liegt das Skript unter dem Namen linuxuser im Verzeichnis surfraw auf der Heft-CD bei. Kopieren Sie die Datei in das Verzeichnis /usr/local/bin und machen Sie es als root für alle Benutzer ausführbar:
root # chmod 755 /usr/local/bin/linuxuser
Nun wünschen wir Ihnen viel Vergnügen auf Ihrer Reise durch das World Wide Web auf der Kommandozeile.
Listing 1
#!/bin/sh
# $Id: linuxuser,v 1.2 2003/04/24 12:05:23 proff Exp $
# elvis: linuxuser – Look up word in Linux User (www.linux-user.de)
. surfraw || exit 1
w3_usage_hook () {
cat <<EOF
Usage: $w3_argv0 [options] [search words]…
Description:
Look up word in Linux User (www.linux-user.de)
EOF
w3_global_usage
}
w3_config
w3_parse_args "$@"
# w3_args now contains a list of arguments
if test -z "$w3_args"; then
w3_browse_url "http://"www.linux-user.de/search""
else
escaped_args=`w3_url_of_arg $w3_args`
w3_browse_url "http://www.linux-user.de/search?config=lu&restrict=&exclude=&method=and&format=builtin-long&sort=score&words=${escaped_args}"
fi
Glossar
GUI
Graphical User Interface (grafische Benutzerschnittstelle)
Infos
[1] surfraw:Shell Users' Revolutionary Front Against the World wide web, http://surfraw.sourceforge.net/



