O comando ls -al dog RCS/dog,v
retorna
-rw-r--r-- 1 simon simon 0 Apr 13 19:25 dog
-r--r--r-- 1 simon simon 191 Apr 13 19:28 RCS/dog,v
indicando que RCS/dog,v
é mais recente que dog
, ainda
if [[ RCS/$dog* -nt dog ]] ; then echo not older than dog ; else echo older than dog ; fi
retorna older than dog
. Como para um arquivo que não termina em ,v esta comparação é executada corretamente, parece haver um problema com arquivos que terminam em ,v
. Alguém poderia sugerir como consertar isso, por favor?
Responder1
No seu exemplo, você está se referindo a umvariávelonde sua expressão espera umliteral:
if [[ RCS/$dog* -nt dog ]] ; then echo not older than dog ; else echo older than dog ; fi
Aquilo é,
Esta é uma variável:
$dog
e, se não estiver definido, você obterá algo comoRCS/*
(ou outra coisa se$dog
acontece que está definido paracat
).Isto é literal:
dog
, eRCS/dog*
combinariaRCS/dog,v