如何在Shell脚本中保存“read”错误输出?

4

我写了一个bash文件,其中使用了read命令从文件中读取数据。

如果文件不存在,我想将错误保存到文本文件中。我尝试过:

read myVariable < myFile  2> errorFile.txt

它不起作用,还有许多其他的努力也失败了,比如:

myVar=`read myVariable < myFile`
1个回答

2

在告诉bash读取一个不存在的文件之前,您需要先重定向STDERR。

以下代码可为您解决问题:

$ read myVariable 2> errorFile < myFile

或者
$ 2> errorFile.txt read myVariable < myFile

是的,它有效了,谢谢。你能告诉我为什么我应该先重定向 STDERR 来读取吗? - Behnam Safari
1
在打开一个不存在的文件之前,不需要完全按照“read”之前的步骤。请参见更新的答案。 - SiegeX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接