# R: Scripting Front-End for R

Rscript {utils} | R Documentation

## Scripting Front-End for R

### Description

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

### Usage

    Rscript [options] [-e expression] file [args]

### Arguments

`options` | A list of options beginning with `--`. These can be any of the options of the standard R front-end, and also those described in the details.
`expression` | a R expression.
`file` | The name of a file containing R commands. `-` indicates ‘stdin’.
`args` | Arguments to be passed to the script in `file`.

### Details

`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`.

Either one or more -e options or `file` should be supplied.

Additional options accepted (before `file` or `args`) are

`--verbose`
  gives details of what `Rscript` is doing. Also passed on to R.
`--default-packages=list`
  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. The default for `Rscript` omits methods as it takes about 60% of the startup time.

Normally the version of R is determined at installation, but this can be overridden by setting the environment variable RHOME.

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

### Note

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

### Examples

    ## Not run:
    Rscript -e 'date()' -e 'format(Sys.time(), "%a %b %d %X %Y")'

    ## example #! script

    #! /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()

    ## End(Not run)

[Package utils version 2.6.0 Index]