2009-05-14 17 views
0

/etc/aliasesにエイリアスを設定しました。これにより、電子メールが特定のアドレスに送信されるたびに、電子メールのテキストがRubyスクリプトに送信されます。エイリアスからの出力を読むためのRubyスクリプト

例:そう同様|/etc/smrsh/my_script.rb

私はちょうど理解することはできません。..データを読み取ることができ、簡単なPerlスクリプトを書いた ..私のRubyスクリプトでパイプされたデータを読み取る方法を知っておく必要がありますそれをRubyでどうやって行うのか。あなたのpidedデータを読み取るためにSTDINを使用することができます

my $fout = "/tmp/email.out"; 

open(EM, ">$fout"); 

while(<>) { 
    chomp; 
    print EM "$_\n"; 
} 

答えて

3

:ここ

は、Perlスクリプト内の関連する行です。あなたのPerlコードに相当するものは、次のようなものになります。

out = File.open("/tmp/email.out", "a+") 
STDIN.each do |line| 
    out.puts line 
end 
+0

これは素晴らしい機能でした。補足として、エイリアスを正しく動作させるために、/ etc/smrshのrubyバイナリへのシンボリックリンクを作成し、エイリアスを次のように定義する必要がありました。 my_alias: "|/etc/smrsh/ruby​​/etc /smrsh/my_script.rb " それはそれでした!ありがとう! –

+0

こちらをご覧くださいhttp://stackoverflow.com/questions/36072489/ruby-script-sending-received-email-as-sms?noredirect=1#comment59792534_36072489 – Acacia

関連する問題