2009-05-14 4 views
0

/etc/aliases에 별칭을 설정 했으므로 특정 주소로 전자 메일이 들어올 때마다 전자 메일의 텍스트가 Ruby 스크립트로 전송됩니다. 그래서 같이 :별명에서 출력을 읽는 Ruby 스크립트

예 : |/etc/smrsh/my_script.rb 내 루비 스크립트에서 파이프 데이터를 읽는 방법을 알 필요가

.. 내가 .. 데이터를 읽을 수있는 간단한 펄 스크립트를 작성했습니다 단지 수없는 그림 루비에서 어떻게하는지 알아 보자.

다음은 Perl 스크립트의 관련 라인입니다 :

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

open(EM, ">$fout"); 

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

답변

3

당신은 당신의 pided 데이터를 읽을 STDIN를 사용할 수 있습니다. 귀하의 Perl 코드에 상응하는 내용은 다음과 같습니다 :

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

위대한 작품, 감사합니다. 보조 노트로 알리아스가 제대로 작동하게하려면/etc/smrsh에있는 루비 바이너리에 대한 심볼릭 링크를 만든 다음 별칭을 다음과 같이 정의해야합니다. 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

관련 문제