如何在BASH中捕获标准错误

时间:2020-07-27 12:58:53  来源:igfitidea点击:

将stderr存储到一个变量中,我们需要使用命令替换。

VAR=$(command)

但是,默认情况下,命令替换只捕获标准输出(STDOUT)。
要捕获stderr,我们需要使用2>&1重定向器。

以下示例,将STDOUT和STDERR存储到$var变量中。

VAR=$(cat file1.txt nofile.txt 2>&1)
echo $VAR

要获得标准错误,我们需要将STDOUT重定向到“/dev/null”文件。

以下示例将获得stderr保存到$ERROR变量并丢弃stdout。

ERROR=$(cat file1.txt nofile.txt 2>&1 > /dev/null)
echo $ERROR