我正在编写一个rails应用程序,需要通过./script/runner
虽然我可以把
#!/home/cannon/src/timetracker/script/runner
在顶部,它不会在生产中工作,它需要更像
#!/var/www/loclahost/htdocs/timetracker/script/runner -e=production
由于./script
不在我的路径中,而且我不希望这样,我怎么能允许这样设置呢,
我正在使用cron作业在Linux机器上运行
答案 0 :(得分:9)
在shebang行中使用env
查看路径中的内容:
#!/usr/bin/env ./script/runner
答案 1 :(得分:0)
在你的(ruby)脚本的顶部使用它来重新执行它在本地./script/runner下(然后应该定义Rails以避免无限循环)
exec("./script/runner",$0,*ARGV) unless defined?(Rails)
(所以在顶部使用常规' ruby' shebang,无论是#!/usr/bin/ruby
还是#!/usr/bin/env ruby
还是其他任何风味