The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Title: Determine a Script's Filename from Within the Script Itself
Description: A small set of functions wrapping up the call stack and command line inspection needed to determine a running script's filename from within the script itself.
Version: 1.0.1
License: MIT + file LICENSE
URL: https://github.com/MullinsLab/scriptName
BugReports: https://github.com/MullinsLab/scriptName/issues
Imports: rlang (≥ 0.1.0), purrr (≥ 0.2.3)
Suggests: testthat, devtools
RoxygenNote: 6.1.1
Encoding: UTF-8
NeedsCompilation: no
Packaged: 2019-06-19 06:36:17 UTC; tom
Author: Thomas Sibley [aut, cre], University of Washington [cph], Travers Ching [ctb]
Maintainer: Thomas Sibley <trsibley@uw.edu>
Repository: CRAN
Date/Publication: 2019-06-19 07:40:03 UTC

Determine a script's filename from within the script itself

Description

A small set of functions wrapping up the call stack and command line inspection needed to determine a running script's filename from within the script itself.

Usage

current_filename()

current_source_filename()

current_cli_filename()

Details

current_filename() returns the result of current_source_filename() if not NULL, otherwise the result of current_cli_filename(), which might be NULL. You should use this wrapper function rather than the more-specific functions unless you have a very specific need.

current_source_filename() returns the filename from the most recent call to source in the current call stack. From within a sourced script, this is the filename of the script itself.

current_cli_filename() returns the filename found on the command line invocation of R or Rscript. This may or may not be the caller's file if there's been an intervening source.

Value

A character vector of length 1 if a script name can be found, otherwise NULL. No manipulation is done to the filename, so it may be relative or absolute.

Examples

# Put this in example.R and try running source("example.R")
# and `Rscript example.R`
filename <- current_filename()
print(filename)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.