bashの変数($,ダラー,ドル)まとめ

書式説明
$?直前に実行したコマンドの終了ステータス
$@スペース区切りの実行引数
$*変数$IFS区切りの実行引数
$0ファイル名
$n実行引数のn番目の値
${@:n}スペース区切りの配列のn番目以降
${@:n:o}スペース区切りの配列のn番目からo番目
$$プロセスID
${!var}varの値を変数名としてeval実行
${#var}varの文字数
$((1+2))算術演算
${foo-bar}fooの変数がない場合にbarを使う
${foo:=bar}fooの変数がない場合にbarを使いfooにbarの値を設定
  • n,o=数値
  • var=変数名

参考

BASHでの変数について

Bash変態文法最速マスター? - programming

2006-10-27 - 明日=今日×(反省+前向き)+努力

iframe内のオブジェクトをデベロッパーツールのコンソールから操作する #html #javascript

クライアントサイドのJavascript開発では、各ブラウザのデベロッパーツールに付属している対話型のコンソールを使い、状態を確認しながら開発する方法がとても便利ですが、iframe内のオブジェクトを呼びだそうとしても、Same-Origin Policyの制約などでオブジェクトが読めなかったりします。

調べてみるとブラウザにより対応方法が異なっていたのでメモします。

更新日: 2013/12/29

続きを読む

Vagrantのゆるい使い方 #vagrant #linux

VagrantはOSに依存しない開発環境を手軽に管理・配布することができるツールです。

私の環境の場合、開発環境にありがちな問題への対処としてVagrantを導入することにより、いくつかの問題を解決することができました。

  1. 開発環境構築の手順書を作成したいけど開発者のOSがバラバラ(WindowsでRubyのライブラリが動かない...)
  2. 複数案件を一台のPCで管理していて案件によりミドルウェアのバージョンが異なる
  3. 開発環境と本番環境のOSが異なるため各環境独自の不具合が発生してしまう

Vagrantは一般的にChefやPuppetと組み合わせることにより絶大な効果を発揮しますが、ChefやPuppetを使ったことのないエンジニアは覚えることが多くて少し敷居が高いと思っていました。

今回はChefやPuppetを使わずにゆるくVagrantを使う方法をご紹介します。

続きを読む

Jenkinsのタスクでシェルスクリプトの終了コード1が返却されても処理を続行する #jenkins

Jenkinsタスク内に設定したシェルスクリプト/bin/sh -xeで実行されるため、コマンドの途中で終了コード0以外が返却されるとタスクがエラーとして終了します。通常はこの挙動で問題ないのですが、場合によりそのまま処理を継続させたいこともあります。解決策を調べてみました。

続きを読む

Herokuの1dynoのCPUコア数 #nginx #heroku

Nginxのworker_processesには通常CPUのコア数を設定しますが、heroku上に配置したNginxの場合1dynoに割り当てられているCPUコア数がわからなかったので調べてみました。

Stack Overflowに同じように悩んでる人が居ました。 同様にheroku run コマンドでコア数を調べてみると、4コアのCPUが割り当てられているようです。

$ heroku run "grep -c processor /proc/cpuinfo"
Running `grep -c processor /proc/cpuinfo` attached to terminal... up, run
4

参考

公式
https://devcenter.heroku.com/articles/dyno-size

Stack Overflow
http://stackoverflow.com/questions/15910965/how-many-cpu-cores-has-a-heroku-dyno

Gitコマンドのハイライト表示 #git

Git の diff を美しく表示するために必要なたった 1 つの設定 #git

こちらの記事を見かけて設定してみたら私の環境(OS X Mavericks)ではなぜか出来ませんでした。調べてみたらgit configでcolor.uiを設定することにより近いことができました。ハイライト表示見やすい。

$ git config --global color.ui auto