2013-05-21 13:18:07 +08:00
|
|
|
# web_search from terminal
|
|
|
|
|
|
|
|
function web_search() {
|
|
|
|
# get the open command
|
|
|
|
local open_cmd
|
2014-04-23 22:13:26 +08:00
|
|
|
if [[ "$OSTYPE" = darwin* ]]; then
|
2013-05-21 13:18:07 +08:00
|
|
|
open_cmd='open'
|
|
|
|
else
|
|
|
|
open_cmd='xdg-open'
|
|
|
|
fi
|
|
|
|
|
|
|
|
# check whether the search engine is supported
|
2013-07-26 09:49:40 +08:00
|
|
|
if [[ ! $1 =~ '(google|bing|yahoo|duckduckgo)' ]];
|
2013-05-21 13:18:07 +08:00
|
|
|
then
|
|
|
|
echo "Search engine $1 not supported."
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
local url="http://www.$1.com"
|
|
|
|
|
|
|
|
# no keyword provided, simply open the search engine homepage
|
|
|
|
if [[ $# -le 1 ]]; then
|
|
|
|
$open_cmd "$url"
|
|
|
|
return
|
|
|
|
fi
|
2013-07-26 09:49:40 +08:00
|
|
|
if [[ $1 == 'duckduckgo' ]]; then
|
|
|
|
#slightly different search syntax for DDG
|
|
|
|
url="${url}/?q="
|
|
|
|
else
|
|
|
|
url="${url}/search?q="
|
|
|
|
fi
|
2013-05-21 13:18:07 +08:00
|
|
|
shift # shift out $1
|
|
|
|
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
|
|
url="${url}$1+"
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
|
|
|
url="${url%?}" # remove the last '+'
|
2014-07-29 15:21:10 +08:00
|
|
|
nohup $open_cmd "$url"
|
|
|
|
rm nohup.out
|
2013-05-21 13:18:07 +08:00
|
|
|
}
|
|
|
|
|
2013-07-26 09:49:40 +08:00
|
|
|
|
2013-05-21 13:18:07 +08:00
|
|
|
alias bing='web_search bing'
|
|
|
|
alias google='web_search google'
|
|
|
|
alias yahoo='web_search yahoo'
|
2013-08-14 12:04:06 +08:00
|
|
|
alias ddg='web_search duckduckgo'
|
2013-07-26 09:49:40 +08:00
|
|
|
#add your own !bang searches here
|
|
|
|
alias wiki='web_search duckduckgo \!w'
|
|
|
|
alias news='web_search duckduckgo \!n'
|
|
|
|
alias youtube='web_search duckduckgo \!yt'
|
|
|
|
alias map='web_search duckduckgo \!m'
|
|
|
|
alias image='web_search duckduckgo \!i'
|
2013-07-26 09:53:53 +08:00
|
|
|
alias ducky='web_search duckduckgo \!'
|