我的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