Scripting Front-End for R

This is an alternative front end for use in #! scripts and other scripting applications.

Rscript [options] [-e expr [-e expr2 ...] | file] [args]

a list of options, all beginning with --. These can be any of the options of the standard R front-end, and also those described in the details.

expr, expr2

R expression(s), properly quoted.


the name of a file containing R commands. - indicates stdin.


arguments to be passed to the script in file.


Rscript --help gives details of usage, and Rscript --version gives the version of Rscript.

Other invocations invoke the R front-end with selected options. This front-end is convenient for writing #! scripts since it is an executable and takes file directly as an argument. Options --slave --no-restore are always supplied: these imply --no-save. Arguments that contain spaces cannot be specified directly on the #! line, because spaces and tabs are interpreted as delimiters and there is no way to protect them from this interpretation on the #! line. (The standard Windows command line has no concept of #! scripts, but Cygwin shells do.)

Either one or more -e options or file should be supplied. When using -e options be aware of the quoting rules in the shell used: see the examples.

Additional options accepted (before file or args) are


gives details of what Rscript is doing. Also passed on to R.


where list is a comma-separated list of package names or NULL. Sets the environment variable R_DEFAULT_PACKAGES which determines the packages loaded on startup.

Spaces are allowed in expression and file (but will need to be protected from the shell in use, if any, for example by enclosing the argument in quotes).

If --default-packages is not used, then Rscript checks the environment variable R_SCRIPT_DEFAULT_PACKAGES. If this is set, then it takes precedence over R_DEFAULT_PACKAGES.

Normally the version of R is determined at installation, but this can be overridden by setting the environment variable RHOME. The R files are found from the location of the Rscript.exe executable. If this is copied elsewhere, the environment variable RHOME should be set to the top directory of the R installation.

Unlike Unix-alikes, this links directly to R.dll rather than running a separate process.

stdin() refers to the input file, and file("stdin") to the stdin file stream of the process.


Rscript is only supported on systems with the execv system call.

  • Rscript
library(utils) # NOT RUN { Rscript -e 'date()' -e 'format(Sys.time(), "%a %b %d %X %Y")' # Note that Rscript is not by default in the PATH on Windows, so # either put it there or use an explicit path to Rscript. # at the standard Windows command line Rscript -e "date()" -e "format(Sys.time(), \"%a %b %d %X %Y\")" # in other shells, e.g. bash or tcsh, prefer Rscript -e 'date()' -e 'format(Sys.time(), "%a %b %d %X %Y")' # Get the same initial packages in the same order as default R: Rscript --default-packages=methods,datasets,utils,grDevices,graphics,stats -e 'sessionInfo()' ## example #! script for a Unix-alike #! /path/to/Rscript --vanilla --default-packages=utils args <- commandArgs(TRUE) res <- try(install.packages(args)) if(inherits(res, "try-error")) q(status=1) else q() # }
Documentation reproduced from package utils, version 3.6.1, License: Part of R 3.6.1

Community examples

Looks like there are no examples yet.