javascript - 如何将shell输出按字符串写入文件

标签 javascript bash shell console sh

我有一些 shell 进程,我需要通过特定行中的字符串捕获随之而来的错误。所以,我正在这样做:

OUTPUT="$(npm run generate_post)"
echo ${OUTPUT} | grep "_currentUrl" * > error.log

但我没有任何结果,有人可以帮忙吗?

最佳答案

首先,你的说法没有意义:

 echo ${OUTPUT} | grep "_currentUrl" *

星号扩展到工作目录中的文件,并且 grep 正在那里搜索模式,忽略来自 stdin 的内容。我不知道您对 * 的意图是什么。

然后,您没有指定稍后是否需要 npm 的完整输出。假设你不这样做,你可以写

npm run generate_post | grep _currentUrl

当然,遵循 Triptych 的建议来捕获 stderr 可能是明智的,但这是一个不同的故事。

如果您确实需要 npm 的完整输出,请考虑将其放入文件而不是变量中 - 当然这取决于您稍后将如何使用它,因此这只是几个选项之一:

npm run generate_post | tee npm_output.txt | grep _currentUrl

关于javascript - 如何将shell输出按字符串写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45420241/

相关文章:

javascript - removeAttr() 和 remove() 不起作用

bash - bash 命令结束时发出声音

perl - 只需要在一个文件中匹配一个模式出现一次

linux - 某些 Linux 命令在 tcl shell 下不起作用

c - 如何在 SYSTEM 下运行应用程序?

c# - 检索可执行信息

javascript - 无法删除 Chrome 上的内联事件处理程序

javascript - Google Sheet 函数计算余额

javascript - 在 JavaScript 中使用 Observable 模式

regex - bash-delete 如果字符串存在于两个模式之间