我正在尝试使用以下行:
WERRORS=`echo $VALPG | grep -q -s -o -m 1 '\<[0-9]* Errors'`
我想要的是grep的结果进入WERRORS变量而不是终端中的echo。 所以我使用-q,但是WERRORS是空的
答案 0 :(得分:1)
如果grep发送任何错误消息,它们会转到错误输出,但反引号不会捕获。如果你在变量中需要这个输出(这有点问题,因为它经常被本地化),使用2&gt;&amp; 1重定向它:
WERRORS=`echo $VALPG | grep -s -o -m 1 '\<[0-9]* Errors' 2>&1`
答案 1 :(得分:1)
WERRORS=`echo $VALPG | grep -s -o -m 1 '\<[0-9]* Errors'`
答案 2 :(得分:0)
kent$ val=abcpc
kent$ a=$(echo $val|grep -o -m 1 -s 'pc')
kent$ echo $a
pc