Предположим, что я бегу Rscript внутри этого сценария оболочкиКак получить статус выхода R сценария запуска в сценарии оболочки
#!/bin/bash
RES=$(./abc.R 100)
r_status=echo $?
Существует некоторый код в abc.R который останавливает его выполнение
#!/usr/bin/env Rscript
...
...
if(nrow(status) == 0)
{ stop("The list id is not present in requests table. Please check.") } else if (status != 'COMPLETED')
{ stop("The list is not in COMPLETED state. Please check.")}
...
...
Я не могу зафиксировать статус выхода abc.R в своем сценарии оболочки. Он останавливает выполнение R и даже завершает выполнение сценария оболочки в приглашении.
Есть ли способ захватить статус выхода R.
Может быть [это сообщение] (http://stackoverflow.com/questions/7681199/make-r-exit-with-non-zero -status-code) было бы полезно. – lmo
Статус выхода сценария обычно является статусом выхода последней команды, выполняемой в скрипте. Я не уверен, что это то, что вам нужно. – sjsam
Я думаю, что ваша проблема заключается в использовании 'r_status = echo $?' Вместо 'r_status = $ (echo $?)' (Или предпочтительно 'r_status = $ (echo" $? ")'). [Демо] (https://gist.github.com/nathan-russell/200e4311957908cc816abe014677bea3). – nrussell