Я пытаюсь сравнить два временных файла на основе их отметки времени изменения / последнего изменения, а затем скопировать файл в какой-либо код папки ниже
#!/bin/sh
cd /sapmnt/audit/
echo $PWD
t1= stat -c %z audit.log20151019115132
cd /var/log/audit/
echo $PWD
t2= stat -c %z audit.log.3
echo $t1
echo $t2
if [ $t2 -nt $t1 ];
then
echo "PASS"
else
echo "Fail"
fi
вывод:
/sapmnt/audit
2015-10-19 11:51:32.189657200 +0000
/var/log/audit
2015-10-20 17:25:01.000000000 +0000
PASS
Проблема в том, что он всегда выводит Pass либо, если я заменяю условие на [ $t1 -nt $t2 ]
.
в соответствии с man test
ФАЙЛ1 -nt ФАЙЛ2
FILE1 новее (дата изменения), чем FILE2
-nt
Оператор сравнивает файл, а не временную метку.
-nt
и -ot
работать непосредственно с файлами, а не со значениями.
#!/bin/sh
t1='/sapmnt/audit//audit.log20151019115132'
t2='/var/log/audit/audit.log.3'
echo $t1
echo $t2
if [ $t2 -nt $t1 ];
then
echo "PASS"
else
echo "Fail"
fi