Ruby on rails 从alias读取输出的Ruby脚本

Ruby on rails 从alias读取输出的Ruby脚本,ruby-on-rails,ruby,file,Ruby On Rails,Ruby,File,我在/etc/aliases中设置了一个别名,这样每当一封电子邮件发送到一个特定的地址时,电子邮件的文本都会发送到一个Ruby脚本。像这样: 示例:|/etc/smrsh/my_script.rb 我需要知道如何读取Ruby脚本中的管道数据。。 我编写了一个简单的Perl脚本,可以读取数据。。只是不知道如何在Ruby中实现 以下是Perl脚本中的相关行: my $fout = "/tmp/email.out"; open( EM, ">$fout" ); while( <>

我在
/etc/aliases
中设置了一个别名,这样每当一封电子邮件发送到一个特定的地址时,电子邮件的文本都会发送到一个Ruby脚本。像这样:

示例:
|/etc/smrsh/my_script.rb

我需要知道如何读取Ruby脚本中的管道数据。。 我编写了一个简单的Perl脚本,可以读取数据。。只是不知道如何在Ruby中实现

以下是Perl脚本中的相关行:

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

open( EM, ">$fout" );

while( <> )  {
    chomp;
    print EM "$_\n";
}
my$fout=“/tmp/email.out”;
开放式(EM,“>fout”);
而(){
咀嚼;
打印EM“$\un”;
}

您可以使用
STDIN
读取PIED数据。Perl代码的等价物如下所示:

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

您可以使用
STDIN
读取PIED数据。Perl代码的等价物如下所示:

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

这很有效,谢谢你。另外,为了让别名正常工作,我必须在/etc/smrsh中创建指向ruby二进制文件的符号链接,然后将别名定义为:my_alias:“|/etc/smrsh/ruby/etc/smrsh/my_script.rb”,就这样做了!谢谢帮我看看这个,这个效果很好,谢谢。另外,为了让别名正常工作,我必须在/etc/smrsh中创建指向ruby二进制文件的符号链接,然后将别名定义为:my_alias:“|/etc/smrsh/ruby/etc/smrsh/my_script.rb”,就这样做了!谢谢帮我看看这个