使用紅寶石環(huán)境變量
環(huán)境變量是通過命令行或圖形外殼傳遞給程序的變量。當(dāng)引用環(huán)境變量時(shí),將引用其值(無論變量定義為什么)。
盡管有許多環(huán)境變量?jī)H影響命令行或圖形shell本身(例如PATH或HOME),但也有一些直接影響Ruby腳本的執(zhí)行方式。
提示預(yù)防電信詐騙小知識(shí):Ruby環(huán)境變量與Windows OS中的變量類似。例如,Windows用戶可能熟悉TMP用戶變量來定義當(dāng)前登錄用戶的臨時(shí)文件夾的位置。
從Ruby
訪問環(huán)境變量Ruby可以通過ENV散列直接訪問環(huán)境變量。環(huán)境變量可以通過使用帶有字符串參數(shù)的索引運(yùn)算符直接讀取或?qū)懭搿?/p>
請(qǐng)注意,寫入環(huán)境變量只會(huì)影響Ruby腳本的子進(jìn)程。腳本的其他調(diào)用將不會(huì)看到環(huán)境變量的變化。
##!/usr/bin/env ruby
#打印一些變量
放置env['路徑']
放置env['編輯器']
#更改變量然后啟動(dòng)新程序
env['編輯器']=#39;gedit'
``**環(huán)境''u var
將環(huán)境變量傳遞給Ruby
要將環(huán)境變量傳遞給Ruby,只需在shell中設(shè)置該環(huán)境變量即可。這在操作系統(tǒng)之間略有不同,但概念保持不變。
要在Windows command提示符上設(shè)置環(huán)境變量,請(qǐng)使用set命令。
>s
要在Linux或OS X上設(shè)置環(huán)境變量,請(qǐng)使用導(dǎo)出命令。盡管環(huán)境變量是Bash shell的正常部分,但程序中只提供已導(dǎo)出的變量由Bash shell發(fā)起。
$博覽會(huì)
或者,如果環(huán)境變量?jī)H由即將運(yùn)行的程序使用,則可以在命令名稱之前定義任何環(huán)境變量。環(huán)境變量將在運(yùn)行時(shí)傳遞到程序上,但不會(huì)保存。對(duì)程序的任何進(jìn)一步調(diào)用都不會(huì)設(shè)置此環(huán)境變量。
$EDITOR=gedit**環(huán)境Ruby使用的環(huán)境變量
有許多環(huán)境變量會(huì)影響Ruby解釋器的操作方式。
- RUBYOPT-這里的任何命令行開關(guān)都將添加到命令行上指定的任何開關(guān)中。
- RUBYPATH-當(dāng)與命令行上的-S開關(guān)一起使用時(shí),RUBYPATH中列出的路徑將被添加到查找紅寶石腳本時(shí)搜索的路徑中。RUBYPATH中的路徑位于PATH中列出的路徑之前。
- RUBYLIB-此處的路徑列表將添加到Ruby用于使用require方法搜索程序中包含的庫的路徑列表中。RUBYLIB中的路徑將在其他目錄之前進(jìn)行搜索。