Skip to content

R command execution from shell

5 messages · Duncan Murdoch, Brian Ripley, Sebastien Bihorel

#
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?

Thank you

Sebastien
#
On 04/01/2011 3:21 PM, Sebastien Bihorel wrote:
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).

Duncan Murdoch
#
Thank you

That is exactly what I was looking for.

Sebastien
Duncan Murdoch wrote:
#
On Tue, 4 Jan 2011, Duncan Murdoch wrote:

            
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.)
#
Thank you for this alternative. Both seem to work on my systems.

Sebastien
Prof Brian Ripley wrote: