我的ruby脚本需要连接到Oracle数据库。所以我需要在脚本运行之前正确地导出ORACLE_HOME和LD_LIBRARY_PATH。有没有一种方法可以在不使用shell脚本的情况下导出这些env变量?我试图把ENV ['ORACLE_HOME'] ='/ usr/local/oracle_client'放在脚本的第一行,它不起作用。 现在唯一可行的方法是编写一个shell脚本,在那里导出这些变量,然后在那里运行ruby。 shell脚本的样子:如何自动导出运行ruby脚本所需的oracle环境变量?
出口ORACLE_HOME = '在/ usr /本地/ oracle_client' 出口LD_LIBRARY_PATH = '在/ usr /本地/ oracle_client/lib目录' 红宝石myscript.rb --options
这是有点丑因为用户必须进入shell脚本来更改选项。我想知道是否有更好的方法来做到这一点。所以用户可以在命令行下执行:ruby myscript.rb --options
因为他不是他的剧本的消费者,所以最好保存clinets这样的conf ... – khelll 2009-09-29 22:10:47
你是什么意思客户端配置? OP说这个脚本很难看,因为用户必须修改脚本来提供选项。这个答案解决了这个问题。它提供的命令行解决方案不比运行ruby命令更复杂。它还增加了价值,因为默认选项和验证可以在shell脚本中完成。 – DCookie 2009-09-29 23:06:07
它工作,感谢DCookie。 – swingfuture 2009-09-30 17:16:50