如何在Bash命令中排除libEGL警告信息?
解决nvidia-settings的libEGL警告过滤问题
那条libEGL warning: DRI2: failed to authenticate警告是从标准错误流(stderr)输出的,而管道|默认只处理标准输出流(stdout),所以你之前加的grep -v根本没抓到这条警告,自然过滤不掉。
给你两种解决办法:
方法一:把错误流重定向到标准输出后再过滤
执行这条命令即可:nvidia-settings -q gpucoretemp 2>&1 | grep -v 'libEGL warning: DRI2: failed to authenticate' | grep '(user-xubuntu:0.0):' | sed 's/^.*: //'其中
2>&1的作用是把stderr(文件描述符2)的内容转到stdout(文件描述符1),这样所有输出都会进入管道,grep -v就能精准过滤掉那条警告。方法二:直接丢弃所有错误输出(如果不需要其他错误信息)
要是你不想保留任何错误提示,直接用这条:nvidia-settings -q gpucoretemp 2>/dev/null | grep '(user-xubuntu:0.0):' | sed 's/^.*: //'2>/dev/null会把所有stderr的内容丢到系统的空设备里,彻底忽略,只处理正常的温度输出。
内容的提问来源于stack exchange,提问作者XuMuK
相关产品推荐
相关产品推荐

