Shell
少し前に envsubst コマンドの存在を知った.envsubst コマンドを使うと,変数展開など,Shell で「テンプレートエンジン」のような仕組みを実現できる.例えば,設定ファイルを生成するときなどに使える.なぜ今まで知らなかったんだろう!と思うけど,今回…
普段 iTerm2 でターミナル作業をするとき,Colors は Solarized Dark を使っている.ただし,モブプログラミングをしたり,研修中にデモを見せたりするときに,スクリーンに Solarized Dark で投影すると視認性が悪いため,毎回 Edit Session or Open Profil…
シェルスクリプトのテストフレームワーク Bats を試してみた. github.com たまにコントリビュートをしている Amazon ECS (Elastic Container Service) のデプロイツール ecs-deploy のテストコードで Bats が使われているので,少し書いたことがあり,もっ…
AWS CLI で ELB 配下のインスタンスをローリングデプロイする方法は去年にまとめた.aws elb deregister-instances-from-load-balancer と aws elb register-instances-with-load-balancer を使うだけじゃなく,aws elb describe-instance-health を使って w…
シェルスクリプトのレビューを効率化するため,シェルスクリプト専用の静的解析ツール "ShellCheck" を導入して,さらに CircleCI で自動テストすることにした.導入検証も兼ねて,個人的に使ってる dotfiles に導入してみた話をまとめる. github.com apt-g…
デプロイ時に nginx を再起動するなど,Zabbix の監視トリガーに該当するオペレーションを実行する場合,無駄にアラートが鳴ってしまう場合がある.正しくは Zabbix のメンテナンスを作成することで,メトリクスを収集しながら監視トリガーに該当しないよう…
AWS CLI を使って ELB からインスタンスを deregister したり register したりするスクリプトを shell で書いてみた.ポイントは ELB の waiter 部分で,実際にインスタンスを deregister してもすぐには反映されないため,数秒間隔でチェックをするようにし…
シンプルなことだけど,気になったのでまとめておく.やっぱり sh は苦労するw 単一のファイルもしくはディレクトリの存在確認をする test コマンドの -e オプションで,ファイルもしくはディレクトリの存在確認ができる.以下の例では file_a にしてるけど…
kshでwhile readを使って1行ずつ処理するプログラムを書いていて,その中でrshコマンドを実行するとその時点でループが止まってしまうという謎の事象に遭遇した.はじめはどこか別のところにバグがあるんだろうと思ってコードを削ってみたり,テストコードを…