使用紅寶石環(huán)境變量

環(huán)境變量是通過命令行或圖形外殼傳遞給程序的變量。當引用環(huán)境變量時,將引用其值(無論變量定義為什么)。

科普_1

盡管有許多環(huán)境變量僅影響命令行或圖形shell本身(例如PATH或HOME),但也有一些直接影響Ruby腳本的執(zhí)行方式。

提示預防電信詐騙小知識:Ruby環(huán)境變量與Windows OS中的變量類似。例如,Windows用戶可能熟悉TMP用戶變量來定義當前登錄用戶的臨時文件夾的位置。

從Ruby

訪問環(huán)境變量

Ruby可以通過ENV散列直接訪問環(huán)境變量。環(huán)境變量可以通過使用帶有字符串參數的索引運算符直接讀取或寫入。

請注意,寫入環(huán)境變量只會影響Ruby腳本的子進程。腳本的其他調用將不會看到環(huán)境變量的變化。

##!/usr/bin/env ruby
#打印一些變量
放置env['路徑']
放置env['編輯器']
#更改變量然后啟動新程序
env['編輯器']=&##39;gedit'
``**環(huán)境''u var

將環(huán)境變量傳遞給Ruby

要將環(huán)境變量傳遞給Ruby,只需在shell中設置該環(huán)境變量即可。這在操作系統(tǒng)之間略有不同,但概念保持不變。

要在Windows command提示符上設置環(huán)境變量,請使用set命令。

>s

要在Linux或OS X上設置環(huán)境變量,請使用導出命令。盡管環(huán)境變量是Bash shell的正常部分,但程序中只提供已導出的變量由Bash shell發(fā)起。

$博覽會

或者,如果環(huán)境變量僅由即將運行的程序使用,則可以在命令名稱之前定義任何環(huán)境變量。環(huán)境變量將在運行時傳遞到程序上,但不會保存。對程序的任何進一步調用都不會設置此環(huán)境變量。

$EDITOR=gedit**環(huán)境

Ruby使用的環(huán)境變量

有許多環(huán)境變量會影響Ruby解釋器的操作方式。

  • RUBYOPT-這里的任何命令行開關都將添加到命令行上指定的任何開關中。
  • RUBYPATH-當與命令行上的-S開關一起使用時,RUBYPATH中列出的路徑將被添加到查找紅寶石腳本時搜索的路徑中。RUBYPATH中的路徑位于PATH中列出的路徑之前。
  • RUBYLIB-此處的路徑列表將添加到Ruby用于使用require方法搜索程序中包含的庫的路徑列表中。RUBYLIB中的路徑將在其他目錄之前進行搜索。