Ricerca Google da terminale

Debian-swirl.png Versioni Compatibili

Debian 9 "stretch"
Debian 10 "buster"

Creazione dello script

Molto spesso ci ritroviamo ad utilizzare il terminale e, completamente immersi nell'uso della tastiera, può essere una scomodità lasciarla per passare al mouse, aprire il nostro browser e digitare la chiave da ricercare e infine vedere i risultati. Sarebbe molto comodo avere a disposizione uno script che permettesse di eseguire gran parte dei passi precedenti direttamente da terminale. Ovvero sarebbe comodo poter scrivere una cosa del genere:

$ google "stringa da ricercare"

Una volta digitato il comando di sopra si dovrebbe avviare il browser predefinito (senza richiedere un server grafico attivo), con i risultati della ricerca già belli e pronti. Per fare quanto abbiamo detto basta creare uno script simile al seguente:

#! /bin/sh

# script per la ricerca in google da linea di comando
# by np - 11 marzo 2010

# rimpiazza gli spazi con + (equivalentemente con %20)
# $* prende tutti i parametri dello script in un'unica variabile
str_search=$(printf %s\\n "$*" | sed 's/[[:space:]]/+/g')

# a causa del fatto che le virgolette vengono utilizzate per gli argomenti dello script contenenti spazi
# allora due underscore __ verranno convertiti nelle virgolette di google
str_search=$(printf %s\\n "$str_search" | sed 's/__/"/g')

# debug, stampa la stringa modificata, se la variabile d'ambiente DEBUG è 1
if [ "${DEBUG:-0}" = 1 ]; then
   printf %s\\n "DEBUG: $str_search" >&2
fi

exec www-browser "https://www.google.it/search?hl=it&source=hp&q=${str_search}"

Poi basta salvare questo script (in questa guida gli si è dato il nome google) in /usr/local/bin con privilegi di amministrazione, per poterlo utilizzare in qualunque directory vi troviate.
Ricordatevi di cambiare i permessi sul file, per aggiungere il bit di esecuzione:

# chmod 755 /usr/local/bin/google

E di cambiare utente e gruppo in root, per impedire che l'utente possa cambiargli i permessi e in seguito modificarlo, introducendo potenzialmente una vulnerabilità nel sistema:

# chown root:root /usr/local/bin/google

Esempi d'uso

Vediamo alcuni esempi:

  • ricerca semplice
$ google "stringa da cercare"
$ google "l'amore"
  • ricerca di una sequenza esatta di stringhe ("debian lenny")
$ google __debian+lenny__
$ google "__l'albero a cui tendevi__"




Guida scritta da: np2k 19:20, 30 mar 2010 (CEST)   Debianized 40%
Estesa da:
Verificata da:
HAL 9000 21:23, 18 ago 2019 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized