How can I make R read my environmental variables?

You want Sys.getenv() as in Sys.getenv("PATH"), say.

Or for your example, try

SIR <- Sys.getenv("SIR")   
system(paste("ec2-cancel-spot-instance-requests",  SIR))

As for setting variables at startup, see help(Startup) to learn about ~/.Renvironment etc


Using Sys.getenv() you see all variables listed in the current environment.

However, they are different from those used in your current shell, for example specified in .profile.

To set the variables for R create a .Renviron file in your home directory and write there

MYDIRECTORY="/home/wherever"

After restarting R you will be able to access this variable with

Sys.getenv("MYDIRECTORY")

I'm pretty new to R but my approach was this: I had project-level environment variables stored in a .env file. To make it accessible in R, I used

> readRenviron(".env")

Then to access a specific variable

> Sys.getenv("RDS_UID")

And it worked perfectly.