我有一个用于启动rails脚本的shell脚本:
bin/rails runner script/sync-test.rb $@
sync-test.rb脚本使用optparse,我想允许用户将'--help'传递给sync-test.rb脚本。但是,现在rails runner可执行文件正在“抓取”--help。
有没有办法强制sync-test.rb脚本保留任何CLI标志?我试过了:
bin/rails runner -- "script/sync-development-testdb.rb $@"
那就是
Run 'script/rails -h' for help.
所以一定不能那样。
答案 0 :(得分:0)
在sync-test.rb
:
def ask_for_help
print "Enter --help for help"
case gets.chomp
when "--help"
puts 'ls --help'
else
puts 'ls'
end
end
help = nil
until(help)
help = ask_for_help()
end
print help, "\n"
<强>参考强>
答案 1 :(得分:0)
在脚本中添加一行以检测忽略下一个标志运算符--
ARGV.shift if ARGV.first == '--'
然后使用bin/rails runner script/sync-development-testdb.rb -- $@