rcmdnk's blog

Linux Command Line: Fast and Easy. (Linux Commands, Bash Scripting Tricks, Linux Shell Programming Tips and Bash One-Liners) (Programming is Easy Book 1) (English Edition)

homebrew-file をインストールして使う際に、 brew file initの様にfileと1つ入れなくてはいけないのが面倒で、 特にbrewのコマンドと被ってない物は直接使えたら便利だな、 ということで、 homebrew-file に付いてるwrapper関数(etc/brew-wrap) をアップデートしました。

Sponsored Links

‘init’等をbrewコマンドから直接使う

homebrew-fileにはetc/brew-wrapという設定ファイルが入っていて、 これを読み込むとbrewコマンドをラップする関数が設定されます。

.bashrc
1
2
3
if [ -f $(brew --prefix)/etc/brew-wrap ];then
  source $(brew --prefix)/etc/brew-wrap
fi

こんな感じにするとBash起動時に読み込ことが出来ます。

以前までは、これをするとbrew installbrew uninstallコマンドを打った時、 通常のinstalluninstallを行った後に Brewfileを自動でアップデートする事が出来る様になっていました。

Homebrew-fileのwrapperをスクリプトから関数に変更

今回新しく入れた機能は、 brew file init等、元々brewコマンドに無いコマンドに関しては fileを抜かしてもbrew-fileを読んで実行できる様にする機能です。

$ brew init

とするだけでbrew file initと同じ様にBrewfileを初期化してくれます。

他にも

$ brew casklist

でアプリのリストを作ったり。

brewで使えるコマンドはcommandsというコマンドで確認出来ます。

$ brew commands
Built-in commands
--cache                   doctor                    missing                   test-bot
--cellar                  edit                      options                   test
--env                     fetch                     outdated                  tests
--prefix                  gist-logs                 pin                       uninstall
--repository              help                      postinstall               unlink
aspell-dictionaries       home                      prune                     unlinkapps
audit                     info                      pull                      unpack
bottle                    install                   readall                   unpin
cat                       irb                       reinstall                 untap
cleanup                   leaves                    search                    update
commands                  link                      sh                        upgrade
config                    linkapps                  style                     uses
create                    list                      switch
deps                      log                       tap-readme
diy                       man                       tap

External commands
cask      file      brewdle   brewdler  bundle    bundler
$

一方、brew-fileで使うコマンドも確認出来るようにcommandsというコマンドを新たに加えました。

$ brew file commands
install brew -i --init init -s --set_repo set_repo pull push -c --clean clean -u --update update -e --edit casklist cask_upgrade --test --commands -v --version version -h --help help -f --file -F --format -r --repo -n --nolink -C -V --verbose
$

コマンドと言うとちょっと意味合いが違いますが、ここでは単に brew及びbrew file以降に与えられる引数の事を指しています。

brew-fileの方がちょっと見にくいですが、比べると、 例えばinstalleditに関しては両方にあります。

この様なコマンドに関してはbrew editとすると本来のbreweditコマンドが 起動するようになっています。

ただ、editに関しても、brew file editとしなくてもbrew -ebrew --editで 直接Brewfileが開ける様になります。

ラッパー関数の中で毎回brewのコマンドを調べているので、 もしbrew側でアップデートがあったり、外部コマンドを加えたりして brew-fileのコマンドと被る物が出たらbrew側のコマンドを優先して使う様になっています。

大分便利になった感。

Sponsored Links
Sponsored Links

« Macの起動時のジャーン音を消すやつ sshの接続を高速化するconfig設定 »