標準出力を捨てて標準エラーだけパイプで渡すには ​

目的

​ 例えば、以下のようなプログラムがあったとして、"error"だけリダイレクトしたい ​

bin/stdouterr.rb

STDOUT.puts "data"
STDERR.puts "error"

方法

  • サブシェルで標準出力を/dev/nullに捨てる
  • サブシェルの標準エラーをリダイレクトする ​
(ruby bin/stdouterr.rb > /dev/null) 2>&1 | less

​ ​