時と場合によりけり

日々のアップデートとイノベーションに翻弄され彷徨える IT エンジニアの覚書

Mac を起動したときに Homebrew と Atom と anyenv のアップデートをシェルスクリプトで実行する

概要

Mac を起動したときに、Automator.app を使わずに、シェルスクリプトを実行します。スクリプトには Homebrew と Cask のアップデートと、Atom のアップデート処理を記述します。

以下のエントリーにも書いたのですが、私は、Atom を Homebrew で管理しているので、Atom の Preference にある自動更新機能をオフにしています。そういうわけで自動更新は、シェルスクリプトで制御してしまおうというのが、今回のお話です。

http://stangler.hatenablog.com/entry/2016/09/30/105156

Homebrew と Cask については、以下のエントリーをご参照ください。

http://stangler.hatenablog.com/entry/2016/09/28/162747

ハードウェア

  • マシン: Macbook Pro Early 2011
  • OS: macOS 10.12 Sierra
  • メモリ: 16 GB
  • ストレージ: SSD 512 GB

ソフトウェア

  • Homebrew 1.0.5
  • Cask 0.60.0
  • Atom 1.10.2
  • apm 1.12.5

参考サイト

以下のサイトが大変参考になりました。

Macでログイン時にスクリプトを実行する(Automator不使用) - Qiita

シェルスクリプト作成

シェルスクリプトを適当なフォルダに作成します。ここでは、Mac の書類( Documents )フォルダに作成することにします。

% vim Documents/update.sh

2行目は、Wi-Fi などで電波を掴む時間を作るため、10秒何もしないで待つ設定。
3行目は、Homebrew と Cask のアップデート。
4行目は、Atomapm コマンドを使ったアップデート。
5行目は、anyenv コマンドを使ったアップデート。

パーミッション変更

実行権限を付与します。

% chmod +x Documents/update.sh

拡張子変更

sh のままだと、Finder からダブルクリックで起動できないので、command という拡張子に変更します。

% mv  Documents/update.sh  Documents/update.command

試しに update.command をダブルクリックして、シェルが走るかどうか確認してみてください。

Mac に登録する

リンゴ -> システム環境設定-> ユーザとグループ

f:id:stangler:20161006111227p:plain

ログイン項目 -> + マーク

f:id:stangler:20161006111342p:plain

update.command を選択して登録完了です。

f:id:stangler:20161006111505p:plain

ターミナルのウィンドウを閉じる

ターミナル -> 環境設定 -> シェル -> シェルの終了時

シェルを終了するとウィンドウが閉じる設定にしておくとよいでしょう。

f:id:stangler:20161008045530p:plain

試しに、Mac を再起動して、ログインすれば、シェルスクリプトが実行され、アップデートされるはずです。
以上です。