使用进程替换,我们可以获得命令的每一行输出。
# Echoes every seconds using process substitution
while read line; do
echo $line
done < <(for i in $(seq 1 10); do echo $i && sleep 1; done)
通过与上述相同的方式,我想获得“wpa_supplicant”命令的标准输出输出,同时丢弃标准错误。但是屏幕上什么都看不到!
while read line; do
echo $line
done < <(wpa_supplicant -Dwext -iwlan1 -c${MY_CONFIG_FILE} 2> /dev/null)
我确认在提示符中键入相同的命令会正常显示其输出。
$ wpa_supplicant -Dwext -iwlan1 -c${MY_CONFIG_FILE} 2> /dev/null
错误是什么?任何帮助,将不胜感激。