通过bash脚本ausearch传递STDIN数据时?

时间:2019-01-29 06:05:39

标签: linux bash shell

我不是要阅读STDIN,而是要问为什么将数据传递给STDIN会影响脚本中执行的命令。在标记为重复项之前,请仔细阅读。


我有一个bash脚本,该脚本正在传递审核日志数据,并尝试根据传递的特定审核事件来运行ausearch。但是,脚本中的ausearch命令只有在我不通过stdin传递数据的情况下才能起作用。

作为一个例子,我有这个简化的脚本(au.sh)

#!/bin/bash
ausearch -i -a 1221217

如果我运行以下命令,它将输出预期的ausearch结果:

./au.sh

但是,如果我这样做:

echo "blah" | ./au.sh

然后输出:

<no matches>

实际上,“ blah”将是一个审核事件,脚本将从其中解析出事件ID,然后执行ausearch命令对其进行报告并记录结果。但是,通过stdin传递什么值到脚本都没有关系,如果什么都传递给脚本,那么该命令将错误地返回没有匹配项,并且我也不知道为什么。

0 个答案:

没有答案