使用红宝石环境变量

环境变量是通过命令行或图形外壳传递给程序的变量。当引用环境变量时,将引用其值(无论变量定义为什么)。

科普_1

尽管有许多环境变量仅影响命令行或图形shell本身(例如PATH或HOME),但也有一些直接影响Ruby脚本的执行方式。

提示预防电信诈骗小知识:Ruby环境变量与Windows OS中的变量类似。例如,Windows用户可能熟悉TMP用户变量来定义当前登录用户的临时文件夹的位置。

从Ruby

访问环境变量

Ruby可以通过ENV散列直接访问环境变量。环境变量可以通过使用带有字符串参数的索引运算符直接读取或写入。

请注意,写入环境变量只会影响Ruby脚本的子进程。脚本的其他调用将不会看到环境变量的变化。

##!/usr/bin/env ruby
#打印一些变量
放置env['路径']
放置env['编辑器']
#更改变量然后启动新程序
env['编辑器']=&##39;gedit'
``**环境''u var

将环境变量传递给Ruby

要将环境变量传递给Ruby,只需在shell中设置该环境变量即可。这在操作系统之间略有不同,但概念保持不变。

要在Windows command提示符上设置环境变量,请使用set命令。

>s

要在Linux或OS X上设置环境变量,请使用导出命令。尽管环境变量是Bash shell的正常部分,但程序中只提供已导出的变量由Bash shell发起。

$博览会

或者,如果环境变量仅由即将运行的程序使用,则可以在命令名称之前定义任何环境变量。环境变量将在运行时传递到程序上,但不会保存。对程序的任何进一步调用都不会设置此环境变量。

$EDITOR=gedit**环境

Ruby使用的环境变量

有许多环境变量会影响Ruby解释器的操作方式。

  • RUBYOPT-这里的任何命令行开关都将添加到命令行上指定的任何开关中。
  • RUBYPATH-当与命令行上的-S开关一起使用时,RUBYPATH中列出的路径将被添加到查找红宝石脚本时搜索的路径中。RUBYPATH中的路径位于PATH中列出的路径之前。
  • RUBYLIB-此处的路径列表将添加到Ruby用于使用require方法搜索程序中包含的库的路径列表中。RUBYLIB中的路径将在其他目录之前进行搜索。