You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.2 KiB
56 lines
1.2 KiB
# web_search from terminal |
|
|
|
function web_search() { |
|
|
|
# get the open command |
|
local open_cmd |
|
if [[ $(uname -s) == 'Darwin' ]]; then |
|
open_cmd='open' |
|
else |
|
open_cmd='xdg-open' |
|
fi |
|
|
|
# check whether the search engine is supported |
|
if [[ ! $1 =~ '(google|bing|yahoo|duckduckgo)' ]]; |
|
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 |
|
if [[ $1 == 'duckduckgo' ]]; then |
|
#slightly different search syntax for DDG |
|
url="${url}/?q=" |
|
else |
|
url="${url}/search?q=" |
|
fi |
|
shift # shift out $1 |
|
|
|
while [[ $# -gt 0 ]]; do |
|
url="${url}$1+" |
|
shift |
|
done |
|
|
|
url="${url%?}" # remove the last '+' |
|
|
|
$open_cmd "$url" |
|
} |
|
|
|
|
|
alias bing='web_search bing' |
|
alias google='web_search google' |
|
alias yahoo='web_search yahoo' |
|
alias ddg='web_search duckduckgo' |
|
#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' |
|
alias ducky='web_search duckduckgo \!'
|
|
|