5
5

More than 5 years have passed since last update.

brew コマンド(複数)をまとめてスクリプト化

Last updated at Posted at 2014-09-23

こんにちは。
homebrew で動かすことが多い brew コマンド(複数)はまとめてスクリプト化。

#!/usr/bin/ruby
require 'yaml'

brewcmds_yml = <<EOS
- "brew list --versions \| awk '{printf(\\"%-18s %s\\\\n\\",$1,$NF)}'"
- "brew cask list \| cut -d' ' -f1 \| xargs -I % bash -c \\"echo -n %' '; ls -C /opt/homebrew-cask/Caskroom/%\\" \| awk '{printf(\\"%-18s\\",$1);$1=\\"\\";print}'"
- "brew --config"
- "brew tap"
- "brew update"
- "brew doctor"
- "brew outdated"
EOS

for brewcmd in YAML.load(brewcmds_yml)
    puts "% " + brewcmd.gsub(/\|.*/, "")
    puts `#{brewcmd + " 2>&1"}` # for sh/bash
end

brewcmd = "brew outdated"
brew_outdated = `#{brewcmd + " 2>&1"}`.gsub(/\n/, " ") # for sh/bash
puts "% " + brewcmd
puts `brew info #{brew_outdated}` unless brew_outdated.empty?

exit(0)
5
5
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
5
5