I mentioned this twice already and no one answered;however, I am mentioning this a third time since its a serious deficiency. The Rscript facility that is upcoming in R is useful but on Windows one will often be relegated to having two files: a batch file and an R file unless the -x switch is implemented to allow them to be combined. This is not a problem on UNIX which supports #! but on Windows we need -x. Every other common scripting language including perl, python and ruby supports -x for this purpose.
(The -x flag would start R processing at the first line that begins with #! so that prior lines could be Windows batch commands allowing the same file to be used as a batch file and an R file.) Note that there is a bug in Windows which means that if you simply associate .R to running R then the result cannot be redirected. There is a bug fix available for this but I think we need to be able to run out of the box for something this common. On 1/29/07, Gabor Grothendieck <[EMAIL PROTECTED]> wrote: > Haven't got any feedback on this one. > > Will we be getting a perl/python/ruby style -x switch for Rscript for R 2.5.0? > > It certainly would give more flexibility to users of Rscript on non-UNIX > systems > where #! notation is not available. > > On 1/26/07, Gabor Grothendieck <[EMAIL PROTECTED]> wrote: > > Good idea. ruby seems to work the same way. python does too but with > > a slightly different definition: > > > > C:\> ruby -h | findstr strip > > -x[directory] strip off text before #!ruby line and perhaps cd to > > directory > > > > C:\> perl -h | findstr strip > > -x[directory] strip off text before #!perl line and perhaps cd to > > directory > > > > C:\> python -h | findstr skip > > -x : skip first line of source, allowing use of non-Unix forms of #!cmd > > > > > > On 1/26/07, Vladimir Eremeev <[EMAIL PROTECTED]> wrote: > > > > > > ActivePerl has '-x' switch which tells it to skip all lines in the file > > > till > > > "#!". > > > This allows writing perl scripts in ordinary .bat files. > > > > > > ?shQuote contains a link with the following perl script example: > > > ===8<=== > > > @echo off > > > :: hello.bat > > > :: Windows executable Perl script > > > :: Note: > > > :: assumes perl.exe is in path > > > :: otherwise, use absolute path > > > perl -x -S "%0" %* > > > goto end > > > #!perl > > > > > > print "Hello, World!\n"; > > > __END__ > > > :end > > > :: ------ end of hello.bat ------ > > > > > > Windows Notes: > > > " -x " (lower case x): Skip all text until shebang line. > > > " -S " (upper case S): Look for script using PATH variable. Special > > > meaning > > > in Windows: appends .bat or .cmd if lookup for name fails and name does > > > not > > > have either suffix. > > > " %* " only on WinNT/2K/XP; use %1 %2 . . . %9 on Win9x/DOS > > > ===8<=== > > > > > > I think the simplest way to implement shebang on windows would be > > > embedding > > > one more command line switch with similar functionality to perl's '-x'. > > > > > > -- > > > View this message in context: > > > http://www.nabble.com/Rscript-on-Windows-tf3120774.html#a8651815 > > > Sent from the R devel mailing list archive at Nabble.com. > > > > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel