我正在用我的覆盆子pi开展一个小项目。我有一个网络摄像头和一个piTFT显示器。我想编写一个shell脚本,迭代地使用网络摄像头拍照,然后在piTFT上显示图片。我想通过SSH运行脚本。
我成功地使用fswebcam捕获图像,fbi在piTFT上显示图像。脚本很简单:运行while循环(直到按键),并在每次迭代时拍摄并显示它:
#!/bin/bash
if [ -t 0 ]; then stty -echo -icanon -icrnl time 0 min 0; fi
count=0
keypress=''
while [ "x$keypress" = "x" ]; do
# update console
let count+=1
echo ---------Taking image $count---------
# take picture
fswebcam -r 320x240 -q image.jpg
# display on PITFT
sudo fbi -T 2 -d /dev/fb1 --noverbose -a image.jpg
sleep 0.1
keypress="`cat -v`"
done
if [ -t 0 ]; then stty sane; fi
exit 0
这是问题所在:我已经尝试了一切我能想到的让fbi'静静地'运行(使用noverbose选项等),但我仍然在控制台中获得这一行: / p>
using "DejaVu Sans Mono-16", pixelsize=16.67 file=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf
有没有办法抑制这个输出?
答案 0 :(得分:1)
尝试将fbi
stdout
和stderr
重定向到/dev/null
:
sudo fbi -T 2 -d /dev/fb1 --noverbose -a image.jpg >/dev/null 2>&1