比较Suse linux的时间戳

比较Suse linux的时间戳

我尝试根据修改/上次更改的时间戳比较两个时间文件,然后将文件复制到下面的某个文件夹代码中

#!/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 ]

答案1

-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

答案2

根据man test

文件1-nt 文件2

FILE1 比 FILE2 更新(修改日期)

-nt操作员将比较文件,而不是时间戳。

相关内容