比较Suse linux的时间戳

我试图根据他们的修改/ lastchange时间戳比较两个时间文件,然后将文件复制到下面的一些文件夹代码

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

问题是,如果我将条件交换到[ $t1 -nt $t2 ] ,它总是输出Pass。

-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 

根据man test

FILE1-NOT FILE2

FILE1比FILE2更新(修改date)

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