0

Geektool で 3 時間ごとに更新する Ruby スクリプトを実行したいので (更新頻度を 10,800 秒に設定します)、Geektool のシェル コマンドには次のコードが含まれています。

ruby "/file.rb"

便宜上、このファイルはルートにあります。問題は、実行されないことです。次のようなさまざまなコマンドを試しました。

/Users/userhere/.rvm/rubies/ruby-1.9.3-p0/bin/ruby /file.rb

しかし、それでもうまくいきません。私の/usr/bin/rubyインストール (デフォルトでは 1.8.7) を使用したくありません。1.9.3 を使用したいのです。そうすること:/usr/bin/ruby "/file.rb"私にはうまくいきません。

ターミナルでこれらのコマンドのいずれかを実行すると、それらはすべて機能し(後者は依存関係があるため)、スクリプトは正常に機能しますが、Geektool はそれを実行することさえできません。ファイル名を二重引用符で囲んだり付けなかったりしてみましたが、一重引用符でも機能しません。

どんな助けでも大歓迎です。

4

1 に答える 1

1

rvmgemset も必要でした。シェルファイルを作成しました:

/Users/Dave/.rvm/bin/rvm use 1.9.3-p0 > /dev/null
/Users/Dave/.rvm/rubies/ruby-1.9.3-p0/bin/ruby ~/foo.rb

そのシェル ファイル (たまたま my のディレクトリにあります~) をシェル コマンドとして使用すると、正常に動作します。

各コマンドへの完全なパスがないと機能しません。GeekTool は AFAICT を実行しません.bash_profile。また、それを使用せずにrvm Rubyを実行しても、とにかくあなたが望むことをするかどうかはわかりません。

于 2011-12-16T01:12:58.417 に答える