From j@@onx98 @end|ng |rom gm@||@com  Mon Jul  1 02:09:19 2019
From: j@@onx98 @end|ng |rom gm@||@com (Jason Xu)
Date: Sun, 30 Jun 2019 20:09:19 -0400
Subject: [Rd] Making R CMD nicer
In-Reply-To: <CABtg=K=kKUVgDvWbg-nngZYZGTd7zMZ9CD66bZrtcFNJEJ=x6Q@mail.gmail.com>
References: <CAGPh-qOZsZz7CPtquXFijQzUwybXjWrTXZFuGYm0G1T_i6VR5Q@mail.gmail.com>
 <CAB8pepyrM+BF8WOFNDSuz4bAMRic5PaRTuO--wRcOwdj5_4MMg@mail.gmail.com>
 <CABtg=K=kKUVgDvWbg-nngZYZGTd7zMZ9CD66bZrtcFNJEJ=x6Q@mail.gmail.com>
Message-ID: <CAGPh-qOApct2AJ7AhyYxG6rAeRoaRtgrrMHUDzkJE+26dm_Nug@mail.gmail.com>

Yes I'm using R 3.4.4 on Ubuntu 18.04. I doubt the Windows version would
make use of a bash script.
I'm all for a more consistent interface. It puzzles me that a shell script
is used at all since that does not seem portable, especially for Windows
users.

To my surprise I discovered the R that's called from shell, usr/bin/R, is
actually just a shell script. The binary that's called seems to be
/usr/lib/R/bin/exec/R which is a tiny executable that then probably calls
something else.
In comparison the python called from shell, /usr/bin/python3.6, really is a
binary. I'm sure there's a good reason that R uses a shell wrapper script
but it's not like a C program can't parse arguments or set env vars.





On Sun, Jun 30, 2019 at 7:30 PM G?bor Cs?rdi <csardi.gabor at gmail.com> wrote:

> For the record, this is Linux R-devel:
>
> root at 4bef68c16864:~# R CMD
> /opt/R-devel/lib/R/bin/Rcmd: 60: shift: can't shift that many
> root at 4bef68c16864:~# R CMD -h
> /opt/R-devel/lib/R/bin/Rcmd: 62: exec: -h: not found
> root at 4bef68c16864:~# R CMD --help
> /opt/R-devel/lib/R/bin/Rcmd: 62: exec: --help: not found
>
> This is R-release on macOS:
>
> ? R CMD
> /Library/Frameworks/R.framework/Resources/bin/Rcmd: line 62:
> /Library/Frameworks/R.framework/Resources/bin/: is a directory
> /Library/Frameworks/R.framework/Resources/bin/Rcmd: line 62: exec:
> /Library/Frameworks/R.framework/Resources/bin/: cannot execute:
> Undefined error: 0
> ? R CMD -h
> /Library/Frameworks/R.framework/Resources/bin/Rcmd: line 62: exec: -h:
> invalid option
> exec: usage: exec [-cl] [-a name] file [redirection ...]
> ? R CMD --help
> /Library/Frameworks/R.framework/Resources/bin/Rcmd: line 62: exec: --:
> invalid option
> exec: usage: exec [-cl] [-a name] file [redirection ...]
>
> On Windows you indeed get a useful list of commands and more helpful tips.
>
> Gabor
>
>
> On Sun, Jun 30, 2019 at 11:36 PM Abby Spurdle <spurdle.a at gmail.com> wrote:
> >
> > > First time posting in the R mailing lists so hopefully this works well.
> > > I noticed when I type `R CMD` I get this unhelpful message:
> > > /usr/lib/R/bin/Rcmd: 60: shift: can't shift that many
> >
> > I wasn't able to reproduce this.
> > Maybe it's a Linux thing.
> > But then, I suspect you've omitted some of your input.
> >
> > > I also think it would be nice if `R CMD help` showed the usable
> commands.
> >
> > What do you mean...
> > All of the following give you the "usable commands":
> >
> > > R CMD
> > > R CMD -h
> > > R CMD --help
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
>

	[[alternative HTML version deleted]]



[Rd] Making R CMD nicer
Jason Xu