bash

Interpret argument with bash

bashシェルスクリプトで引数を解釈し処理するスクリプトを書きたい時に必要になるコマンドや特殊変数、関数をまとめました。例もあるよ。 ※ $@について追記しました!感謝! https://twitter.com/masutaka/status/796703261185216512 $* 順番に見てく。まず$*。 すべての引数が設定される特殊変数。 こんなスクリプトがあったとして…。 #!/bin/sh echo $* こうなる。 $ ./argument.sh a bb ccc a bb ccc $@ すべての引数が設定される特殊変数。え!?@*と同じじゃん! 違いは、「$@はスペース区切りで設定される」のに対し、

shellscript

Update Ghost 0.11.1 to 0.11.2 with shell script

ghostのアップデートが出ました。 Ghost 0.11.2 メモリリークに関する修正があったみたいですね。メモリリークと言えば、最近ghostを0.11.1に上げたあたりからどうもmackerelからメモリ使用量のアラートがちょくちょく来るようになったので(元々メモリカツカツですが)解消することが期待できそうです。 アップデートは手作業でやりたくないので、シェルスクリプトで行っています。どのディレクトリを入れ替えればいいかなどは公式のドキュメントにアップデート手順があるのでそれを参考にしています。 How to Upgrade Ghost マイナーアップデートはこのシェルスクリプトで充分そう。ghostのディレクトリやパーミッションなどがハードコーディングされていてあんまり汎用的ではないですが、自分用なのでとりあえず良いかなと思っています。 課題はthemeのアップデートで、GAやAlgoliaのためにthemeをいじっているので、まるごと入れ替えができないことです。これはなんとかしたいな〜と思っています。面倒なときはcoreのアップデートだけしてます。 diffを取って内部的な変更(リファクタっぽいのとか)が多かったり、リリースノートで見た目の変更など大きなアップデートが紹介されていたら更新する感じです。 diff

mackerel

Enjoy mackerel metadata

先日のmackerelミートアップでメタデータなる新機能が発表されました。 メタデータ - Mackerel API ドキュメント (v0) 後日談として、この機能がどんな感じか試してみます。まずは一通りメタデータの入出力を試してから、メタデータと何かしらを連携させて遊んでみるところまでやってみます。 ホストメタデータの登録・更新 APIキーとホストIDは面倒なので環境変数に入れています。 環境の情報をメタデータで持たせてみます。 $ curl -X PUT -H "X-Api-Key: $MACKEREL_APIKEY" -H "Content-Type:application/json" -d "{\"