# # Library of shell functions to access various Web services # LYNX='lynx -nocolor -cookies' urlencode() { # cf. RFC1738 perl -e 'foreach $i (@ARGV) { $i =~ s/([^A-Za-z0-9\Q$-_.+!*'\''(),\E])/sprintf("%%%02X", ord($1))/eg; print "$i\n"; } ' "$@" } # # Search engines # google() { case $# in 0) $LYNX http://www.google.com/ ;; *) $LYNX "http://www.google.com/search?q=$(urlencode "$*")&sa=Google%20Search" ;; esac } # # Merriam-Webster online dictionary & thesaurus # webster() { case $# in 0) $LYNX http://www.m-w.com/dictionary.htm ;; 1) $LYNX "http://www.m-w.com/cgi-bin/dictionary?book=Dictionary&va=$(urlencode "$1")" ;; *) echo "usage: webster [word]" >&2; return 2 ;; esac } thesaurus() { case $# in 0) $LYNX http://www.m-w.com/thesaurus.htm ;; 1) $LYNX "http://www.m-w.com/cgi-bin/thesaurus?book=Thesaurus&va=$(urlencode "$1")" ;; *) echo "usage: thesaurus [word]" >&2; return 2 ;; esac } ## EOF ##