所以我这里有这个:
echo "$(some docker command that gives output)" > file
当我从 Jenkins 运行此命令时,命令的输出显示在 Jenkins 日志中。我不希望这种情况发生。
如何获取命令的输出并将其静默重定向到文件?
编辑:我弄清楚问题是什么。在不了解它们是什么的情况下使用 -ex 作为 bash 选项。删除它们,现在收到预期的行为。
答案1
就像 @Tagwint 在上面的评论中所说的那样,您可能还需要重定向 stderr。另外,你不需要echo $(...)
,你可以只使用...
:
someDockerCommand > file 2>&1
假设您使用的是 bash,则可以简化:
someDockerCommand &> file
这两者都将标准输出和标准错误重定向到指定的文件。