[R] Problem with system() and source on linux

Sarah Goslee @@r@h@go@lee @ending from gm@il@com
Thu Dec 20 16:13:38 CET 2018


I can tell you what the problem is:

You're probably running bash at the terminal command line, as I am:

[sarahg using localhost]$ echo $0

but the R system function uses sh

> system("echo $0")

The bash shell has a source command; the sh shell doesn't. See here
for a possible solution:


I don't know if there's a way to specify bash shell in system(); a
very cursory googling didn't find anything. If you find a way, please
report back.


On Thu, Dec 20, 2018 at 10:00 AM Agustin Lobo <aloboaleu using gmail.com> wrote:
> Hi!
> I quite often use system() to run other programs from within R, but
> have just hitted
> a problem:
> For a given program, I need to set up its environment, which I normally do with
> source /home/alobo/OTB-6.6.0-Linux64/otbenv.profile
> from the terminal.
> Now, when I try to do the same from within R, I get:
> > system("source /home/alobo/OTB-6.6.0-Linux64/otbenv.profile", intern=TRUE)
> sh: 1: source: not found
> Error in system("source /home/alobo/OTB-6.6.0-Linux64/otbenv.profile",  :
>   error in running command
> I need this command to set the environment before I actually run the
> program. My idea was saving a simple script from within R  in which
> the first line would be
> source /home/alobo/OTB-6.6.0-Linux64/otbenv.profile
> and then run the script with system(), but I get that odd error with
> source. I thought source was just
> a plain linux command, how can it be "not found" from within system()?
> Any help much appreciated,
> Thanks
> --
> Agustin Lobo
> aloboaleu using gmail.com
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

Sarah Goslee (she/her)

More information about the R-help mailing list