修正。一時的なファイルに記録するのをやめました

#!/bin/sh

CHECKED_FILE="abc.txt" # 確認したいファイル
time_stamp_new=""
time_stamp_old=""

while true
do
if [ -e $CHECKED_FILE ]; then # ファイルが存在すれば
# date -r で、ファイルの更新日時を取得する。
# %s は、UTC (1970-01-01 00:00:00) からの秒数で、%3N はミリ秒。10 + 3 桁
time_stamp_new=`date +"%s%3N" -r $CHECKED_FILE`
else
# 標準エラーへ出力して、処理を終了する
echo "エラー! 確認したいファイルが存在しません!" 1>&2
exit 1
fi

if [ "$time_stamp_old" = "" ]; then
# 空文字列の時は代入する。最初の1回だけ
time_stamp_old="$time_stamp_new"
# ファイルの更新日時が新しいなら、それを代入する
elif [ "$time_stamp_new" != "$time_stamp_old" ]; then
time_stamp_old="$time_stamp_new"

# ここに、実行したいコマンドを書く。例えば、echo `date`
fi

sleep 5
done