本日も乙

ただの自己満足な備忘録。

nginxのバージョンを抽出するワンライナー

最近、ブログ更新が滞っていました。今回は簡単なワンライナーです。

Serverspecでnginxのバージョンをテストしたい場合があったのでメモ。

$ nginx -v 2>&1 | egrep -o '[0-9]+\.[0-9]+\.[0-9]'
1.4.4

キモとなる部分が・・・

  • nginx のバージョン表示を標準エラーも標準出力にリダイレクトさせています。 標準出力だけではダメでした。
  • egrep -o正規表現にマッチした部分だけを抽出しています。

ついでにServerspecのテストコードも載せておきます。 nginxのバージョン以外もテストを載せています。

require 'spec_helper'

describe service('nginx') do
  it { should be_enabled }
  it { should be_running }
end

# version
describe command('nginx -v 2>&1 | egrep -o "[0-9]+\.[0-9]+\.[0-9]+"') do
  its(:stdout) { should match '1.6.1' }
end

# port
%w(80 443).each do |port_number|
  describe port(port_number) do
    it { should be_listening }
  end
end

# 名前解決
describe host('serverspec.org') do
  it { should be_resolvable }
  it { should be_reachable }
end

ハイパフォーマンスHTTPサーバ Nginx入門

新品価格
¥3,240から
(2014/9/5 14:47時点)