[R] R command execution from shell

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Jan 4 23:21:46 CET 2011


On Tue, 4 Jan 2011, Duncan Murdoch wrote:

> On 04/01/2011 3:21 PM, Sebastien Bihorel wrote:
>> Dear R-users,
>> 
>> Is there a way I can ask R to execute the "write("hello
>> world",file="hello.txt")" command directly from the UNIX shell, instead
>> of having to save this command to a .R file and execute this file with R
>> CMD BATCH?
>
> Yes.  Some versions of R support the -e option on the command line to execute 
> a particular command.  It's not always easy to work out the escapes so your 
> shell passes all the quotes through...  An alternative is to echo the command 
> into the shell, e.g.
>
> echo 'cat("hello")' | R --slave
>
> (where the outer ' ' are just for bash).

It is marginally preferable to use Rscript in place of 'R --slave'.
I think in all known shells

Rscript -e "write('hello world', file = 'hello.txt')"

will work.  (If not, shQuote() will not work for that shell, but this 
does work in sh+clones, csh+clones, zsh and Windows' cmd.exe.)

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list