показать ввод, как он выполняется с помощью Rscript

У меня есть сценарий Rscript, который я запускаю с помощью crontab, и для его завершения требуется много времени. Я добавляю его вывод в файл и засоряю код операторами print, чтобы отслеживать ход выполнения скрипта в фоновом режиме.

Это работает, но я устаю добавлять все больше и больше print операторов. Что мне действительно нужно, так это увидеть, какую команду он выполняет вместе с выводом, который он генерирует. Например. при запуске следующего скрипта:

$ cat test.r
#!/bin/env Rscript

Sys.sleep(10)
3+2

Я бы хотел, чтобы результат был каким-то образом

> Sys.sleep(10)
> 3+2
[1] 5

то есть именно то, что я увидел бы, если бы запустил его в интерактивном режиме.

Любые идеи?


person eddi    schedule 20.09.2018    source источник


Ответы (1)


Добавьте следующее в начало вашего скрипта:

options(echo = TRUE)

От ?options

эхо: логично. Используется только в неинтерактивном режиме, когда он управляет отображением ввода. Параметр командной строки --slave устанавливает значение FALSE, но в противном случае запускает сеанс как TRUE.

person Dason    schedule 20.09.2018