Upgrade to Pro — share decks privately, control downloads, hide ads and more …

nginxコマンドの出力結果をパイプしてみた

YouYou
June 20, 2021

 nginxコマンドの出力結果をパイプしてみた

YouYou

June 20, 2021
Tweet

More Decks by YouYou

Other Decks in Programming

Transcript

  1. 背景 • 運用しているメディアサーバーの棚卸し ◦ Apacheかnginxか • 出力結果を加工してバージョン情報だけ抽出 $ httpd -v

    Server version: Apache/2.2.34 (Unix) Server built: Nov 1 2017 18:47:16 $ httpd -v | head -n 1 | cut -f 3 -d " " Apache/2.2.34
  2. 背景 • nginxだとうまくいかない🤔 • ファイルにも出力されない $ nginx -v nginx version:

    nginx/1.18.0 $ nginx -v | head -n 1 | cut -f 3 -d " " nginx version: nginx/1.18.0 $ nginx -v > test.txt nginx version: nginx/1.18.0 $ cat test.txt $
  3. ファイルディスクリプタについて • ファイル操作に割り当てられる整数値 • 以下が一般的 ◦ 0:stdin(標準入力) ◦ 1:sdout(標準出力) ◦

    2:stderr(標準エラー出力) • 出力結果を渡すパイプはデフォルトでは標準出力のみ対応 $ httpd -v | head -n 1 | cut -f 3 -d " " Apache/2.2.34
  4. やったこと $ nginx -v 2>&1 | cut -f 3 -d

    " " nginx/1.18.0 書式
 説明
 コマンド1 | コマンド2 
 コマンド1 の「標準出力」をコマンド2 の「標準入力」に引き渡す 
 コマンド1 2>&1 | コマンド2
 コマンド1 の「標準出力」と「エラー出力」をコマンド2 の 
 標準入力に引き渡す 
 引用 Linux - ストリーム、パイプ、リダイレクトの使用