macのopenコマンドを利用してインターネットを楽しむ
ggl 単語 単語2 // googleで単語 単語2 を検索する wiki 単語 // wikiで単語の意味を調べる alc 単語 // alcで単語を検索
ほかにもgmailとかgoogle mapとか、自在に定義できるようになります。
これを実現するには
1. 下記のinet.shというファイルをどっかに置きまして、
#!/bin/sh DEFAULT_BROWSER="Google Chrome" OPTION="" CMDNAME=$(basename $0) function show_usage { echo "USAGE: $CMDNAME [-f | -g | -s | -h] url" echo " -h, show this help." echo " -f, open url with FireFox" echo " -s, open url with Safari" echo " -g, open url with Google Chrome" exit 1 } i=0 while getopts fgshc OPT do OPTION="" case $OPT in f ) BROWSER="Firefox" FF_EXIST=$(ps ax | grep Firefox\.app | grep -v grep) if [ "$FF_EXIST" = "" ]; then OPTION=" --args" fi ;; g ) BROWSER="Google Chrome" ;; s ) BROWSER="Safari" ;; h ) show_usage ;; esac BROWSERS[$i]=$BROWSER OPTIONS[$i]=$OPTION i=$(expr $i + 1) done shift $(expr $OPTIND - 1) #URLを合成する URL="" for ARG in $@; do URL=${URL}$ARG done #URL=$1 if [ "$URL" == "" ]; then show_usage fi echo $URL if [ "$BROWSERS" == "" ]; then BROWSERS[0]=$DEFAULT_BROWSER fi for (( i=0; i < ${#BROWSERS[@]}; ++i )); do #echo ${BROWSERS[i]} #echo ${OPTIONS[i]} open -a /Applications/"${BROWSERS[i]}".app ${OPTIONS[i]} $URL done
inet.shは、オプションがあって、
- f Firefoxで見る
- g Google Chromeで見る(デフォルト)
- s Safariで見る
inet -fgs http://sample.com/
とやるとなんと三種のブラウザ全部でみれてしまいますw
2. .bash_profileなんかにaliasとかfunctionとか書きましょう。
# /path/to/ は、inet.shを置いたディレクトリを指定してください。 alias inet="sh /path/to/inet.sh -f http://" alias alc="inet eow.alc.co.jp/" alias wiki="inet ja.wikipedia.org/wiki/" alias gmail="inet mail.google.com/mail/#inbox" alias sendgm="inet mail.google.com/mail/shva=1#compose" alias blog="inet d.hatena.ne.jp/DECKS/" function ggl { local q=$(echo "$*" | tr " " "+"); inet www.google.co.jp/search?q=$q; } function gmap { local q=$(echo "$*" | tr " " "+"); inet maps.google.co.jp/maps?q=$q; } # マニュアル alias phpm="inet jp.php.net/manual-lookup.php?lang=ja\&pattern=" function jq { local q=$(echo "$*" | tr " " "+"); inet www.google.co.jp/search?q=$q+site:http://semooh.jp/jquery/; } # 娯楽 function nico { local q=$(echo "$*" | tr " " "+"); inet "www.nicovideo.jp/search/$q"; } function youtube { local q=$(echo "$*" | tr " " "+"); inet "www.youtube.com/results?search_query=$q"; }
こんな感じに書きます。
URL部分だけ書き換えれば自分だけのコマンドとかも余裕で作れちゃいます。