如何在shell脚本中运行R脚本的退出状态

时间:2017-01-04 12:58:25

标签: r bash shell command rscript

假设我在这个shell脚本中运行了一个Rscript

#!/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.")}
...
...

我无法在shell脚本中捕获abc.R的退出状态。它会停止R执行,甚至从shell脚本退出到提示符。

我有什么方法可以捕捉到R的退出状态。

1 个答案:

答案 0 :(得分:0)

只需运行您想要的脚本。 确保在完成运行时返回正确的退出状态。 这应该有效:

#!/bin/bash
./abc.R 100
if  [ $? == 0 ]; then
  echo "Your script exited with exit status 0"
  exit 0

在此处查看更多信息: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_08_02.html