[R] #!/usr/bin/env Rscript --vanilla ??

Dirk Eddelbuettel edd at debian.org
Fri Apr 13 15:30:00 CEST 2012


On 13 April 2012 at 10:32, Martin Maechler wrote:
| I think that's my first true question (rather than answer)
| to R-help.
| 
| As R has, for a long time, become my primary scripting and
| programming language, I'm prefering at times to write  Rscript
| files instead of shell scripts, notably when R has nice ways to
| do some of the things.
| On a standard standalone platform with standard R, 
| I would start such a script with
| ---------------------------------------
| #! /usr/bin/Rscript --vanilla
| ---------------------------------------
| (yes, the "--vanilla" is important to me, in this case)
| 
| However; as, at work, my scripts have to work correctly on quite a
| few different (unixy : several flavors of Linux, Solaris, MacOS X) platforms,
| *and* as an R developer, I have many different versions of R
| installed simultaneously, using /usr/bin/Rscript  is not an
| option.
| Rather, I'd use the /usr/bin/env trick :
| 
| ---------------------------------------
| #! /usr/bin/env Rscript
| ---------------------------------------
| 
| which finds Rscript in "the correct" place, according to the
| current PATH.  All fine till now.
| 
| PROBLEM:  It does not work with '--vanilla' or any other argument:
|      If I start my script with	  
| #! /usr/bin/env Rscript --vanilla
|      the error message simply is
| /usr/bin/env: Rscript --vanilla: No such file or directory
| 
| I have tried a few variations on the theme, using quotes in
| different places, but have not succeeded till now.
| Any suggestions?

If moving away from Rscript to littler is an option:

   #!/usr/bin/r 

There is a well-known limitation for #! scripts which apparently reflect
precisely one command-line argument.  Because r uses getopt semantics, I
*think* you can combine them as eg in 

   #!/usr/bin/r -vti

which would use --vanilla, --interactive and --rtemp toggle making sure we
use temp files/dirs the way R does. 

However, it seems that --vanilla is now implicit as I can't get littler to
read ~/.Rprofile.  Somewhere between a feature and a bug :)

Dirk

-- 
R/Finance 2012 Conference on May 11 and 12, 2012 at UIC in Chicago, IL
See agenda, registration details and more at http://www.RinFinance.com



More information about the R-help mailing list