Jon*_*oni 18 ruby ruby-on-rails syntax-checking shebang
我在检查rubb脚本的语法时遇到问题,这些脚本在其shebang上有rails script/runner.
以下是两个示例脚本以及它们如何响应ruby语法检查:
脚本hello_world_runner.rb:
#!/usr/bin/env script/runner
p "Hello world!"
Run Code Online (Sandbox Code Playgroud)
脚本 hello_world.rb
#!/usr/bin/env ruby
p "Hello world!"
Run Code Online (Sandbox Code Playgroud)
以下是我尝试检查语法的方法.第一行是命令,第二行是输出.
$ ruby -c hello_world_runner.rb
"Hello world!"
$ ruby -c hello_world.rb
SYNTAX OK
Run Code Online (Sandbox Code Playgroud)
mb1*_*b14 13
你可以试试这个
tail -n +2 hellow_world_runner.rb | ruby -c
Run Code Online (Sandbox Code Playgroud)
不理想,但应该工作.
您可以像这样重写脚本:
Rails 2:
#!/usr/bin/env ruby
require File.expand_path(Dir.pwd + '/config/boot', __FILE__)
require RAILS_ROOT + '/config/environment'
p "Hello world!"
Run Code Online (Sandbox Code Playgroud)
Rails 3:
#!/usr/bin/env ruby
require File.expand_path(Dir.pwd + '/config/boot', __FILE__)
require File.expand_path(Dir.pwd + '/config/application', __FILE__)
Rails.application.require_environment!
p "Hello world!"
Run Code Online (Sandbox Code Playgroud)
当然,您需要定义自己的(绝对)路径或从Rails根目录运行此脚本.
$ ruby -c ./test.rb
Syntax OK
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15016 次 |
| 最近记录: |