抑制 grep 输出但将其捕获在变量中
我试图让以下行工作
WERRORS=`echo $VALPG | grep -q -s -o -m 1 '\<[0-9]* Errors'`
我想要的是 grep 的结果进入 WERRORS 变量,但不在终端中回显。 所以我使用 -q,但是 WRRORS 为空
I'm trying to get the following line to work
WERRORS=`echo $VALPG | grep -q -s -o -m 1 '\<[0-9]* Errors'`
What I want is that the result of grep go into WERRORS variable but not echo in the terminal.
So i use -q, but then WERRORS is empty
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果 grep 发送任何错误消息,它们将转到错误输出,该输出不会被反引号捕获。如果您需要在变量中输出(这有点问题,因为它通常是本地化的),请使用 2>&1 重定向它:
If grep sends any error messages, they go to the error output, which is not captured by the backticks. If you need this output in a variable (which is somewhat problematic, because it's often localized), redirect it using 2>&1: