[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