命令行快捷搜索internet的方法

命令行快捷搜索internet的方法

firefox中有个功能很有用,就是输入g然后后面加上要搜索的关键字,就可以自动到google上搜索。这个功能叫QuickSearch。

我希望在命令行下也有这个功能,所以自己写了名为search的bash script。可以在命令行中直接调用文本界面的浏览器搜索(例如w3m或者lynx).

使用方法如下:
在google中搜索关键字:
$search g keyword [keyword]...

在google blogsearch中搜索关键字:
$search b keyword [keyword]...

查辞典:
$search d keyword

如果你设置好alias(实际上search会帮你做得):
那么上面的的三种搜索可以简化为
$g keyword [keyword]...
$b keyword [keyword]...
$d keyword

搜索引擎是可以定制的,定制的过程及其简单,和firefox的QuickSearch的设置没有区别。


将search安装到/usr/bin目录:
$search install

输出设置alias的脚本到标准输出:
$search mkalias

典型的安装过程:
$su
$search install;exit
$search mkalias >> ~/.bashrc; source ~/.bashrc


以下是源代码:
命令行快捷搜索internet的方法#!/bin/sh
命令行快捷搜索internet的方法
命令行快捷搜索internet的方法#Writtenbyredguardtoo<http://blog.csdn.net/redguardtoo>

命令行快捷搜索internet的方法
命令行快捷搜索internet的方法SEARCH_ALIAS=(grnwicbd)
命令行快捷搜索internet的方法SEARCH_URL
=("http://www.google.com/search?q=%s&ie=utf-8&oe=utf-8"
命令行快捷搜索internet的方法"http://groups.google.com/groups?q=%s&sourceid=opera&num=%i&ie=utf-8&oe=utf-8"
命令行快捷搜索internet的方法"http://news.google.com/news?q=%s&sourceid=opera&num=%i&ie=utf-8&oe=utf-8"
命令行快捷搜索internet的方法"https://secure.wikimedia.org/wikipedia/en/wiki/Special:Search?search=%s"
命令行快捷搜索internet的方法"https://secure.wikimedia.org/wikipedia/zh/wiki/Special:Search?search=%s"
命令行快捷搜索internet的方法"http://blogsearch.google.com/blogsearch?hl=en&ie=UTF-8&q=%s&btnG=Search+Blogs"
命令行快捷搜索internet的方法"http://www.m-w.com/dictionary/%s"
命令行快捷搜索internet的方法)
命令行快捷搜索internet的方法BROWSER_PROG
=w3m
命令行快捷搜索internet的方法BROWSER_OPTION
="-OGBK-cookie"
命令行快捷搜索internet的方法PROG=`basename$0`
命令行快捷搜索internet的方法
命令行快捷搜索internet的方法
命令行快捷搜索internet的方法
#if[$(whoami)!='root'];then
命令行快捷搜索internet的方法#echo"Mustberoottorun$0"
命令行快捷搜索internet的方法#exit1;
命令行快捷搜索internet的方法#fi

命令行快捷搜索internet的方法
命令行快捷搜索internet的方法if[-z$1];then
命令行快捷搜索internet的方法echo
"searchversion0.0.1"
命令行快捷搜索internet的方法echo"usage:$PROGaliaskeyword"
命令行快捷搜索internet的方法echo"$PROGinstall"
命令行快捷搜索internet的方法echo"$PROGuninstall"
命令行快捷搜索internet的方法echo"$PROGmkalias"
命令行快捷搜索internet的方法exit1
命令行快捷搜索internet的方法fi
命令行快捷搜索internet的方法
命令行快捷搜索internet的方法
if["$1"=="install"];then
命令行快捷搜索internet的方法echo
"Installing..."
命令行快捷搜索internet的方法cp$0/usr/bin/$PROG
命令行快捷搜索internet的方法exit0
命令行快捷搜索internet的方法fi
命令行快捷搜索internet的方法
命令行快捷搜索internet的方法
if["$1"=="uninstall"];then
命令行快捷搜索internet的方法echo
"Uninstalling..."
命令行快捷搜索internet的方法rm/usr/bin/$PROG
命令行快捷搜索internet的方法exit0
命令行快捷搜索internet的方法fi
命令行快捷搜索internet的方法
命令行快捷搜索internet的方法
if["$1"=="mkalias"];then
命令行快捷搜索internet的方法
forsain${SEARCH_ALIAS[@]};do
命令行快捷搜索internet的方法echoalias$sa="/usr/bin/$PROG$sa"
命令行快捷搜索internet的方法done
命令行快捷搜索internet的方法exit0
命令行快捷搜索internet的方法fi
命令行快捷搜索internet的方法
命令行快捷搜索internet的方法QUERY_SHORTCUT=$1
命令行快捷搜索internet的方法#echo$##debug
命令行快捷搜索internet的方法if[$#-gt1];then
命令行快捷搜索internet的方法shift
命令行快捷搜索internet的方法QUERY_PARA=$*
命令行快捷搜索internet的方法#echo$QUERY_PARA#debug
命令行快捷搜索internet的方法fi
命令行快捷搜索internet的方法
命令行快捷搜索internet的方法count=0
命令行快捷搜索internet的方法forsain${SEARCH_ALIAS[@]};do
命令行快捷搜索internet的方法if[
"$QUERY_SHORTCUT"=="$sa"];then
命令行快捷搜索internet的方法QUERY_URL=${SEARCH_URL[$count]}
命令行快捷搜索internet的方法QUERY_URL=${QUERY_URL//
"%s"/"$QUERY_PARA"}
命令行快捷搜索internet的方法QUERY_URL=${QUERY_URL//
""/"+"}
命令行快捷搜索internet的方法#echo$QUERY_URL#debug
命令行快捷搜索internet的方法$BROWSER_PROG$BROWSER_OPTION${QUERY_URL/
"%s"/"$QUERY_PARA"}
命令行快捷搜索internet的方法fi
命令行快捷搜索internet的方法count=$(($count+1))
命令行快捷搜索internet的方法done
命令行快捷搜索internet的方法
命令行快捷搜索internet的方法