我想检查文件大小(在Debian上的bash中),如果它没有增加,请执行命令。我的脚本看起来像这样:
FirstSize=$(du -s /media/USB/km)
echo $FirstSize
sleep 5
SecondSize=$(du -s /media/USB/km)
echo $SecondSize
if [ "$FirstSize" -eq "$SecondSize" ]
then
echo "size is the same"
mount -a
sleep 15
pkill openRTSP
else
echo "size is changing"
fi
我收到的输出是:
135436688 /media/USB/km
135437444 /media/USB/km
./size.sh: 8: [: Illegal number: 135436688 /media/USB/km
size is changing
你能告诉我我做错了什么吗?
答案 0 :(得分:4)
您要求bash进行比较" 135436688 / media / USB / km"作为一个数字。您只需要du
输出的第一部分。尝试使用cut
命令执行以下操作:
FirstSize=$(du -s /media/USB/km | cut -f 1)
(我在cygwin,而不是Debian,所以我不能100%确定这对你有用的东西,但应该让你朝着正确的方向前进。)