【发布时间】:2016-05-19 18:45:45
【问题描述】:
我是 bash 的初学者,我试图理解别人的 bash 脚本。该脚本由具有某些参数的 rscripts 的几个后续调用组成。所有这些 if 语句的语法大致相同,如下:
if Rscript -options > log_file.txt 2>&1
script works, do smth.
else
script failed, leave the ship!
我根本想不通为什么这个 if 语句做了什么。我知道 2>&1 “结合”了标准错误和标准输出。这个语法究竟是如何工作的?
感谢您的回答。
【问题讨论】:
-
阅读这个答案:cmd 2>&1 > log vs cmd > log 2>&1.
-
你试过阅读the Bash manual page吗?
-
如果我不够具体,我很抱歉。让我困惑的是 bash 如何知道语句“Rscript -options > log_file.txt 2>&1”在没有错误时为 TRUE,而在有错误时为 FALSE。
标签: bash if-statement