That is useful, when calling the script like this: > file <- "Rscript.R" > source(file)
However, it does not work if we do this from the shell prompt: $ R --vanilla < Rscript.R because the eval.parent statement attempts to access a "base workspace" that does not contain the "file" object/variable, as above. Is there a solution for this situation? Is the input script file an argument to R and therefore available in something like argv? On Mar 18, 2005 8:00 PM, Gabor Grothendieck <[EMAIL PROTECTED]> wrote: > > Darren Weber <darrenleeweber <at> gmail.com <http://gmail.com>> writes: > > : > : Hi, > : > : if we have a file called Rscript.R that contains the following, for > example: > : > : x <- 1:100 > : outfile = "Rscript.Rout" > : sink(outfile) > : print(x) > : > : and then we run > : > : >> source("Rscript.R") > : > : we get an output file called Rscript.Rout - great! > : > : Is there an internal variable, something like .Platform, that holds > : the script name when it is being executed? I would like to use that > : variable to define the output file name. > : > > In R 2.0.1 try putting this in a file and sourcing it. > > script.description <- function() eval.parent(quote(file), n = 3) > print(basename(script.description())) > > If you are using R 2.1.0 (devel) then use this instead: > > script.description <- function() > showConnections() [as.character(eval.parent(quote(file), n = 3)), > "description"] > print((basename(script.description()))) > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html > [[alternative HTML version deleted]] ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
