cPanelパイプオプションを使ってrubyスクリプトを実行する方法を説明してもらえますか?基本的に私は電子メールが来るたびにルビースクリプトを実行したいと思います。スクリプトの中でいくつかのことをするために電子メールのデータを使いたいと思います。cPanelからRubyスクリプトへ電子メールを送る方法
私はこのような電子メールのcPanelのオプションを設定しています:
email_data = STDIN.read
# Get email address
#....
# Do somthing with the email address
#...
更新#1
:私はこのような何かをしようとしていますpipe_test.rbスクリプトの内部
もう少し読んだら、ruby pipe_test.rb test
を実行することで、このスクリプトをシェルから起動させることができました。
email_data = ARGV[0]
# Save data to a file
File.open("test_pipe_data.txt", 'w') { |file| file.write(email_data) }
# Get email address
#....
# Do somthing with the email address
#...
しかし、私はcPanelの内のファイルのパスオプション「プログラムにパイプ」にスクリプトを追加するときには、スクリプトを実行していないようです。私は、ファイルのパスオプションの以下の組み合わせを追加しようとしていると、それらのどれも働いた:
home/pipe_test.rb
home/pipe_test.rb test
home/ruby pipe_test.rb test
home/ruby ‘pipe_test.rb test’
home/‘ruby pipe_test.rb’
home/‘ruby pipe_test.rb test’
更新#2それは私がShebang行を追加するために必要とされている私の問題の一部のように見えます
私のスクリプトの一番上にあるので、シェルはスクリプトを実行するために使用するプログラムを知っています。だから私は非常に一番上の行にこれを追加しました:私は実行することによって、これが正しい道である確認
#!/usr/bin/env ruby
:
which ruby
私は、パスをプログラムする./pipe_test.rb
cPanelのパイプを追加するつもりでした。問題は、今、私はシェルから./pipe_test.rb
を実行すると、それは言っている:
: No such file or directory
私はそのパスが存在し、それがないことを確認するecho $PATH
を走ってきました。だから私はもう一度立ち往生している。
私は両方の記事を読んで、リンクから学んだことに基づいてアップデートを加えました。残念ながら私はまだcPanelにスクリプトを実行させることができません。 – MrAutoIt
はあなたのサーバー上のスクリプトですか?あなたはスクリプトのフルパスを使用する必要があるように見えます – hovancik
はい、それはサーバー上にあります。私はあなたが何を意味するのか分かりません。私はShebangまたはcPanelのパスに完全なパスを追加する必要がありますか?今すぐコマンドラインから./pipe_test.rbと入力すると実行されません。だから、私はcPanelがetherを実行できないと仮定しています。 – MrAutoIt