LoginSignup
7
7

More than 5 years have passed since last update.

homebrew-caskを単純なダウンローダとして使う

Last updated at Posted at 2014-10-27

目標

こういうことをする。

ss3.png

理由

  1. pkg形式で配布されているアプリケーションはインストール時にオプションをカスタマイズ出来ることが多い。
  2. にも関わらずbrew cask installを使うと、それらのオプションを選べずにインストールされてしまって悲しい。
  3. brew caskでfetchまでは自動化して、インストール自体は手動でやろう(スマートではないが。)

方法

準備

以下のようなシェルスクリプトを書いて、/usr/local/bin/brew-smash など任意の実行パスに配置し、chmod +x /path/to/brew-smash等で実行権限を与える。

/usr/local/bin/brew-smash
#!/bin/sh
# Usage: brew smash app-name

if [ -z "$1" ] ; then
  echo "Usage: brew smash app-name"
  exit 1
fi

if [ ! -d "Casks" ] ; then
  KEEP_CLEAN=true
else
  KEEP_CLEAN=false
fi

HOMEBREW_CACHE=. brew cask fetch "$1"

if [ "$KEEP_CLEAN" = true ] ; then
  rm -r "Casks"
fi

もしくは直接ダウンロードしても良い。

$ curl https://gist.githubusercontent.com/uetchy/eb625f922eff16eb404b/raw/brew-smash.sh -o /usr/local/bin/brew-smash
$ chmod +x /usr/local/bin/brew-smash

実際に使う

以下のようにbrew smashコマンドを叩く

$ brew smash send-to-kindle
==> Fetching resources for Cask send-to-kindle
==> Downloading https://s3.amazonaws.com/sendtokindle/SendToKindleForMac-installer-v1.0.0.220.pkg
######################################################################## 100.0%
==> Success! Downloaded to -> ./send-to-kindle-1.0.0.220.pkg

シェルスクリプトの解説

難しいことはやってないが、brew cask fetchコマンドはキャッシュ先にCasksディレクトリを生成するので、それを除去している。また、元々カレントディレクトリにCasksという名前のディレクトリがある場合、それを削除してしまわないようにしている。

本当にやりたかったこと

こういう機能いれてくれ

$ brew cask install virtualbox
==> Fetching resources for Cask virtualbox
==> Downloading http://download.virtualbox.org/virtualbox/4.3.18/VirtualBox-4.3.18-96516-OSX.dmg
######################################################################## 100.0%
==> Cask virtualbox has installation options
==> Do you need to install 'Oracle VM VirtualBox Command Line Utilities'? [y/n]
==> y
==> Success!
7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7