Wednesday, March 4, 2020

Using Ruby Environmental Variables

Using Ruby Environmental Variables Environment variables are variables passed to programs by the command line or the graphical shell. When an environment variable is referred to, its value (whatever the variable is defined as) is then referenced. Though there are a number of environment variables that only affect the command line or graphical shell itself (such as PATH or HOME), there are also several that directly affect how Ruby scripts execute. Tip:  Ruby environment variables are similar to ones found in the Windows OS. For example, Windows users may be familiar with a TMP  user variable to define the location of the temporary folder the for the currently logged in user. Accessing Environment Variables from Ruby Ruby has direct access to environment variables via the ENV hash. Environment variables can be directly read or written to by using the index operator with a string argument. Note that writing to environment variables will only have an effect on child processes of the Ruby script. Other invocations of the script will not see the changes in environment variables. #!/usr/bin/env ruby# Print some variablesputs ENV[PATH]puts ENV[EDITOR]# Change a variable then launch a new programENV[EDITOR] geditcheat environment_variables add Passing Environment Variables to Ruby To pass environment variables to Ruby, simply set that environment variable in the shell. This varies slightly between operating systems, but the concepts remain the same. To set an environment variable on the Windows command prompt, use the set command. set TESTvalue To set an environment variable on Linux  or OS X, use the export command. Though  environment variables are a normal part of the Bash shell, only variables that have been exported will be available in programs launched by the Bash shell. $ export TESTvalue Alternatively, if the environment variable will only be used by the program about to be run, you can define any environment variables before the name of the command. The environment variable will be passed onto the program as its run, but not saved. Any further invocations of the program will not have this environment variable set. $ EDITORgedit cheat environment_variables add Environment Variables Used by Ruby There are a number of environment variables that affect how the Ruby interpreter acts. RUBYOPT - Any command-line switches here will be added to any switches specified on the command line.RUBYPATH - When used with the -S switch on the command line, the paths listed in RUBYPATH will be added to the paths searched when looking for Ruby scripts. The paths in RUBYPATH precede the paths listed in PATH.RUBYLIB - The list of paths here will be added to the list of paths Ruby uses to search for libraries included in the program with the require method. The paths in RUBYLIB will be searched before other directories.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.