[R] Start R from bash/bat file and end in interactive mode
Jan van der Laan
rhelp at eoos.dds.nl
Thu Nov 1 09:14:09 CET 2012
I have a r-script (rook.R) that starts a Rook server. To present users
from having to start R and type in source("rook.R"), I want to create
a bash script and bat file that starts R and sources the script.
However, to keep the Rook server running R should not close after
running the script and stay in interactive mode. This proves more
difficult than expected.
I tried various combinations of commandline parameters and pipes, but
none of them seem to work:
$R -f rook.R --interactive
Runs and quits
$ cat rook.R | R
Fatal error: you must specify '--save', '--no-save' or '--vanilla'
$cat rook.R | R --no-save
Runs and quits
$R --no-save < rook.R
Runs and quits
$R --no-save --interactive < rook.R
Runs and quits
I would have expected the --interactive parameter to do what I want,
but it doesn't seem to do anything.
What does work is to create a .Rprofile with sourc("rook.R") in it in
the directory and then start R (just plain R). However I don't find
this a very elegant solution. I could of create the .Rprofile file in
the bash script which is somewhat better, but still not very elegant.
I end up with the following bash script:
#!/bin/bash
echo "source(\"rook.R\")" > .Rprofile
R
Another, not very elegant, possible solution which I haven't tried is
to start a while loop at the end of the script with a sleep command in
it.
Does there exist a better solution?
Regards,
Jan
More information about the R-help
mailing list