| Sys.which {base} | R Documentation |
This is an interface to the system command which, or to an
emulation on Windows.
Sys.which(names)
names |
Character vector of names or paths of possible executables. |
The system command which reports on the full path names of
an executable (including an executable script) as would be executed by
a shell, accepting either absolute paths or looking on the path.
On Windows an ‘executable’ is a file with extension
‘.exe’, ‘.com’, ‘.cmd’ or ‘.bat’. Such files need
not actually be executable, but they are what system
tries.
On a Unix-alike the full path to which (usually
‘/usr/bin/which’) is found when R is installed.
Arguments containing spaces or other metacharacters need to be escaped as they would be for a shell: for example Windows paths containing spaces need to be enclosed in double quotes.
A character vector of the same length as names, named by
names. The elements are either the full path to the
executable or some indication that no executable of that name was
found. Typically the indication is "", but this does depend on
the OS (and the known exceptions are changed to "").
On Windows the paths will be short paths (8+3 components, no spaces)
with \ as the path delimiter.
Except on Windows this calls the system command which: since
that is not part of e.g. the POSIX standards, exactly what it does is
OS-dependent. It will usually do tilde-expansion and it may make use
of csh aliases.
## the first two are likely to exist everywhere
## texi2dvi exists on most Unix-alikes and under MiKTeX
Sys.which(c("ftp", "ping", "texi2dvi", "this-does-not-exist"))