lsとstatの使用[閉じる]

lsとstatの使用[閉じる]

このスクリプトを作成しましたが、出力が正しくありません。統計を計算できません。そのファイルやディレクトリはありません。ファイル形式はLiving Room-20180418-0955588134.jpgです。

どんな助けでも大変感謝します。

#!/bin/sh

LASTFILE=$(cd /volume1/surveillance/@Snapshot && ls *.jpg  | tail -1)



# Input file

# How many seconds before file is deemed "older"
OLDTIME=3600
# Get current and file times
CURTIME=$(date +%s)
FILETIME=$(stat "$LASTFILE" -c %Y)
TIMEDIFF=$(expr $CURTIME - $FILETIME)

# Check if file older
if [ $TIMEDIFF -gt $OLDTIME ]; then

echo "No Movement Dectected in Last Hour" ;
   exit 1
fi

ベストアンサー1

GNUfindまたは互換製品を使用してください。

if
  ! find /volume1/surveillance/@Snapshot -name '*.jpg' -mmin -60 |
    grep -q '^'
then
  echo No movement detected in the last hour
  exit 1
fi

または以下を使用してzsh

last_hour=(/volume1/surveillance/@Snapshot/*.jpg(Nmh-1))
if (($#last_hour = 0)); then
  echo No movement detected in the last hour
  exit 1
fi

おすすめ記事