skip to content

Erprobung der Websuche direkt aus dem Terminal

Ein einfaches Bash-Skript, das ich seit einiger Zeit teste und mit dem Websuchen direkt aus dem Terminal heraus durchgeführt werden können. Das Skript öffnet die Suche direkt im Browser, ohne dass dieser manuell gestartet werden muss. Zur Auswahl stehen Google und DuckDuckGo als Suchmaschinen.

Hier alle Nutzungsmöglichkeiten:

Terminal window
search Suchbegriff # Äquivalent zu 'search -g Suchbegriff', da Google die Standard-Suchmaschine ist
search -g Suchbegriff
search -d Suchbegriff
search -duckduckgo Suchbegriff
search -d -- -Suchbegriff

Das Skript sollte in der Konfigurationsdatei deines bevorzugten Terminals platziert werden. Auf macOS empfiehlt sich beispielsweise die .zshrc.

Terminal window
search() {
local engine="google" # Standard-Suchmaschine ist Google
local query=""
# Flags und Argumente verarbeiten
# Solange das erste Argument mit einem '-' beginnt und nicht '--' ist, werden Optionen verarbeitet
while [[ "$1" =~ ^- && ! "$1" == "--" ]]; do
case $1 in
(-g | --google ) # Suchmaschine = Google, wenn Flag -g oder --google gesetzt wird
engine="google"
;;
(-d | --duckduckgo ) # Suchmaschine = DuckDuckGo, wenn Flag -d oder --duckduckgo gesetzt wird
engine="duckduckgo"
;;
esac
shift
done
# Wenn '--' erreicht wird, werden die weiteren Argumente als Suchanfrage behandelt
if [[ "$1" == '--' ]]; then shift; fi
# Alle restlichen Argumente als Suchanfrage zusammenfuegen, Leerzeichen durch '+' ersetzen
query=$(echo "$*" | sed 's/ /+/g')
# URL basierend auf der ausgewählten Suchmaschine erstellen und die Suche im Browser öffnen
case $engine in
(google)
open -a "Google Chrome" "https://www.google.com/search?q=$query"
;;
(duckduckgo)
open -a "Google Chrome" "https://duckduckgo.com/?q=$query"
;;
esac
}