Bash脚本非法数字错误

时间:2016-05-16 09:08:14

标签: bash

我正在尝试编写一些程序来检测RaspberryPi上的视频冻结,而我的bash脚本遇到了问题。 以下是我为比较两个屏幕截图以检测冻结所做的工作:

    #!bin/bash

    while true
    do
         sudo rm -rf /home/pi/shots/*
         sudo raspi2png -p /home/pi/shots/screen1.png -d 5
         sudo raspi2png -p /home/pi/shots/screen2.png -d 5
         ndiff=`compare -metric AE /home/pi/shots/screen1.png /home/pi/shots/screen1.png null:`
         if [ "$ndiff" -lt "100" ] ;
         then
                 sudo reboot
         fi
     done

我遵循了这些说明:Compare 2 images and find % difference 但我认为非法号码来自ndiff,你能告诉我我该怎么办? 感谢

1 个答案:

答案 0 :(得分:2)

使用diff代替compare

   dif=$(diff /home/pi/shots/screen1.png /home/pi/shots/screen1.png)    
#if the two files are exactly the same the $dif will be empty    
if [ -z "$dif" ] #checking if  $dif is empty or unset
then
   sudo reboot
fi

或者尝试this方法。