如何从单行脚本中抑制错误

时间:2014-09-19 10:12:48

标签: bash

我正在读取日志文件,检查日志时间顺序。我正在将日志文件读入一个数组,只存储格式正确的时间戳日志行:

MESSAGE_ONE是从文件中读取的行。

  

Timestamp1 = $(echo“$ MESSAGE_ONE”| cut -c1-20)
  Timestamp1date = $(date -d“$ Timestamp1”+%s)此行为格式不正确的行生成错误

我按如下方式处理错误:

  

如果[“$?” =“1”];然后
         继续
  否则
  将有效的日志行添加到数组

它按我想要的方式工作;我想要做的就是抑制格式错误的日志条目产生的错误。 我试过了

  

Timestamp1date = $(date -d“$ Timestamp1”+%s)2> / dev / null

但它不起作用。我不希望在cli命令之后使用2> / dev / null来抑制所有错误输出。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

重定向应位于子shell内,因此请使用:

Timestamp1date=$(date -d "$Timestamp1" '+%s' 2>/dev/null)