From: yamataka@...08.itscom.net Date: 2014-08-29T16:05:46+09:00 Subject: [ruby-list:49936] Re: [質問] ruby スクリプト中より、ファイルへのリダイレクトされているか知る方法 中田さん 山口です。 > (2014/08/29 11:18), yamataka@u08.itscom.net wrote: > > ruby スクリプト実行し、ファイルへ出力をリダイレクトしているのですが、 > > スクリプト内で、ファイルにリダイレクトしているかを知る方法はあります でし > > ょうか? > > コンソールにつながっているかはIO#tty?で調べられます。 ご教示ありがとうございます。 if $stdout.tty? # 標準出力がターミナル ... else # 標準出力がターミナル以外 ... end の様な記述で、事が足りました。 > これはパイプでもfalseになるので、ファイルかそれ以外かが問題の場合は > IO#statとFile::Stat#file?などを組み合わせます。 > > $ ruby -e 'STDERR.puts STDOUT.stat.file?' > foo > true このような書き方もできるのですね。 大変勉強になります。 > --- 僕の前にBugはない。 > --- 僕の後ろにBugはできる。 シグネチャー 面白いですね。 他の方にも、ご教示いただきありがとうございました。