假设我在这个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的退出状态。
答案 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