[Rd] R CMD BATCH vs R CMD batch

Rainer M Krug Rainer at krugs.de
Thu Oct 29 10:44:55 CET 2015


Deepayan Sarkar <deepayan.sarkar at gmail.com> writes:

> On Thu, Oct 29, 2015 at 2:09 PM, Rainer M Krug <Rainer at krugs.de> wrote:
>> Dirk Eddelbuettel <edd at debian.org> writes:
>>
>>> On 28 October 2015 at 21:39, Marius Hofert wrote:
>>> | Out of laziness I just used "R CMD batch" instead of "R CMD BATCH". I
>>> | didn't get an error so didn't think about the consequences... One
>>> | consequence is (at least on Mac OS X 10.11 but probably in more
>>> | generality) that R_BATCH_OPTIONS are ignored, which was kind of fatal
>>> | in my case... I am thus wondering whether it makes sense to either a)
>>> | have R_BATCH_OPTIONS also be respected for "R CMD batch" or b) simply
>>> | not allow "R CMD batch" as a valid command (so requiring to use "R CMD
>>> | BATCH"). Both approaches might be delicate... just wanted to point
>>> | this issue out...
>>>
>>> Same reason we have 'R CMD INSTALL' as there often is /usr/bin/install with
>>> different options ...
>>>
>>> In general 'R CMD foo' will run for any 'foo' in the path:
>>>
>>>    edd at max:~$ R CMD date
>>>    Wed Oct 28 21:05:01 CDT 2015
>>>    edd at max:~$
>>
>> So what is R CMD exactly doing in this example? The output is the same if
>> I say only the command (using pwd as otherwise the time has changed...):
>>
>> ,----
>> | 09:35:03 ~$ R CMD pwd
>> | /Users/rainerkrug
>> | 09:35:37 ~$ R CMD pwd
>> | /Users/rainerkrug
>> | 09:37:44 ~$ pwd
>> | /Users/rainerkrug
>> | 09:37:49 ~$
>> `----
>>
>> And this happens, except in cases where the foo is defined as a CMD in R (build, ...):
>>
>> ,----
>> | Commands:
>> |   BATCH                       Run R in batch mode
>> |   COMPILE             Compile files for use with R
>> |   SHLIB                       Build shared library for dynamic loading
>> |   INSTALL             Install add-on packages
>> |   REMOVE              Remove add-on packages
>> |   build                       Build add-on packages
>> |   check                       Check add-on packages
>> |   LINK                        Front-end for creating executable programs
>> |   Rprof                       Post-process R profiling files
>> |   Rdconv              Convert Rd format to various other formats
>> |   Rd2pdf              Convert Rd format to PDF
>> |   Rd2txt              Convert Rd format to pretty text
>> |   Stangle             Extract S/R code from Sweave documentation
>> |   Sweave              Process Sweave documentation
>> |   Rdiff                       Diff R output ignoring headers etc
>> |   config              Obtain configuration information about R
>> |   javareconf          Update the Java configuration variables
>> |   rtags                 Create Emacs-style tag files from C, R, and Rd files
>> `----
>>
>> Unless I miss something, is this is an inconsistency in R?
>
> One important difference (not sure if the only one) is that R CMD
> defines more environment variables. Compare
>
> env | grep -i tex
> R CMD env | grep -i tex
>
> So for example
>
> R CMD pdflatex
>
> will behave differently from plain pdflatex.

Reading Dirk's email again, I think I get the picture of what ~R CMD foo~ is
doing: running ~foo~ after doing some initial magic.

Out of interest: What is the magic ~R CMD~ is doing? Is it documented
anywhere?

Rainer

>
> -Deepayan

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax :       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      Rainer at krugs.de

Skype:      RMkrug

PGP: 0x0F52F982
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 454 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20151029/9590fa6c/attachment.bin>


More information about the R-devel mailing list