为什么程序输出没有被 grep ?

为什么程序输出没有被 grep ?

当我跑步时sudo wpa_supplicant -Dwext -iwlan3 -cwifi.conf 2>&1我得到:

Successfully initialized wpa_supplicant
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
wlan3: Trying to associate with 9c:3d:cf:fb:95:96 (SSID='Bell514' freq=2462 MHz)
wlan3: Association request to the driver failed
wlan3: Associated with 9c:3d:cf:fb:95:96
wlan3: Authentication with 9c:3d:cf:fb:95:96 timed out.

然而当我跑步时:

sudo wpa_supplicant -Dwext -iwlan3 -cwifi.conf 2>&1 | grep --line-buffered wlan3

我只得到:

ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument

我没有stderr正确重定向吗?

答案1

管道使用者 grep 是行缓冲的。但这并不影响管道生产商。一旦你调整了管道的那一侧 grep 将产生所需的输出。

相关内容