mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-12 08:50:08 +00:00
63bae2aba9
The $OSTYPE variable is set at ZSH compile time and can be safely used to determine the OS of the system. e.g. darwin (os x)
56 lines
1.2 KiB
Bash
56 lines
1.2 KiB
Bash
# web_search from terminal
|
|
|
|
function web_search() {
|
|
|
|
# get the open command
|
|
local open_cmd
|
|
if [[ "$OSTYPE" = 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 \!'
|