Якщо ви можете використовувати оболонку bash, ви можете просто запустити код R із сценарію bash і перевести потоки stdout та stderr у файл. Ось приклад використання гередоку:
Файл: test.sh
echo "Hello World, this is bash"
test1=$(echo "This is a test")
echo "Here is some R code:"
Rscript --slave --no-save --no-restore - "$test1" <<EOF
cat("\nHello World, this is R\n")
args <- commandArgs(TRUE)
bash_message<-args[1]
cat("\nThis is a message from bash:\n")
cat("\n",paste0(bash_message),"\n")
EOF
Потім, коли ви запускаєте сценарій, як stderr, так і stdout, передані у файл журналу:
$ chmod +x test.sh
$ ./test.sh
$ ./test.sh &>test.log
$ cat test.log
Hello World, this is bash
Here is some R code:
Hello World, this is R
This is a message from bash:
This is a test
Інші речі, на які слід звернути увагу, - це спробувати просто вставити stdout і stderr прямо з R heredoc у файл журналу; Я ще не пробував цього, але це, мабуть, теж спрацює.