4

我正在编写一个 Rails 应用程序,需要通过来运行脚本./script/runner

虽然我可以把

#!/home/cannon/src/timetracker/script/runner 

在顶部,这在需要更像的生产环境中不起作用

#!/var/www/loclahost/htdocs/timetracker/script/runner -e=production

因为./script不在我的路上,我不希望它是,我怎么能允许它被设置,

我正在使用 cron 作业在 Linux 机器上运行它

4

2 回答 2

9

在 shebang 行中使用env以在路径中查找内容:

#!/usr/bin/env ./script/runner
于 2011-06-24T19:59:35.460 回答
0

在您的(ruby)脚本的顶部使用它在本地 ./script/runner 下重新执行它(然后应该定义 Rails 以避免无限循环)

exec("./script/runner",$0,*ARGV) unless defined?(Rails)

(所以在顶部使用普通的“红宝石”shebang,无论是#!/usr/bin/ruby什么#!/usr/bin/env ruby味道)

于 2016-12-17T02:53:03.207 回答