[R] R command execution from shell

Sebastien Bihorel Sebastien.Bihorel at cognigencorp.com
Wed Jan 5 15:37:09 CET 2011


Thank you for this alternative. Both seem to work on my systems.

Sebastien

Prof Brian Ripley wrote:
> 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.)
>



More information about the R-help mailing list