新手问题 在 shell 中给 ruby 传递参数

qdj6679 · December 13, 2012 · Last by lgn21st replied at December 13, 2012 · 6051 hits

我在 shell 中调用 profit.rb 的 ruby 脚本,需要将一个字符串传递到 profit.rb 中,ruby 中的语句是:File.open("ctr-profit.data", "r") do |f|
就是把这个 ctr-profit.data 变成依靠参数传入。应该怎么做

可以通过环境变量,命令行参数,也可以通过 STDIN(管道,pipe,whatever)传递参数。

通过环境变量:

~ $ FOOBAR=foobar ruby -e "p ENV['FOOBAR']"
"foobar"

通过命令行参数:

~ $ ruby -e 'p ARGV[0]' foobar
"foobar"

通过 STDIN:

~ $ echo "foobar" | ruby -e 'p ARGF.read'
"foobar\n"
You need to Sign in before reply, if you don't have an account, please Sign up first.