问题
I am interested in providing a command line interface to an R package called Slidify that I am authoring. It uses Rscript
and I think that would make it cross-platform. The scripts are stored in the subdirectory inst/slidify
. In order to use the script from any directory, I added its path to my .bash_profile
as I am on a Mac.
My question is
- How should I handle installation of the script in an automated cross-platform way?
- How can I make sure that the file permissions are retained in this process?
What should the shebang line for the script be? I am currently using
#!/usr/bin/Rscript --vanilla --slave
I would appreciate pointers on how to handle this and any examples of R packages that already do it. Just to make sure, I am clear on how this would work, a user would be able to generate a slide deck from slides.Rmd
by just running slidify generate slides.Rmd
from the command line.
UPDATE:
Here is how I install it on a Mac from the command line. I use the excellent sub library by 37 signals to create the scripts.
echo "$(path/to/clidir/slidify init -)" >> ~/.bash_profile
exec bash
Two follow up questions
- Can I package these commands into an R function
install_slidify_cli
? - How can I mirror these commands for Windows users?
回答1:
Lovin' slidify
so would be glad to help.
But in short, you can't.
R packages simply cannot install outside of $R_HOME
or the chosen library folder. Ship the script in the package, and tell users to copy it. If there was a better way, out littler package with predecessor / alternative to Rscript
would long have used it, and roxygen
/ roxygen2
would also have shipped something.
来源:https://stackoverflow.com/questions/13434543/including-command-line-scripts-with-an-r-package