명령 ls -al dog RCS/dog,v
반환
-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
RCS/dog,v
보다 최신 버전 임을 나타냅니다 dog
.
if [[ RCS/$dog* -nt dog ]] ; then echo not older than dog ; else echo older than dog ; fi
반품 older than dog
. 이 비교는 ,v로 끝나지 않는 파일에 대해 올바르게 수행되므로 .v로 끝나는 파일에는 문제가 있는 것 같습니다 ,v
. 누구든지 이 문제를 해결하는 방법을 제안할 수 있습니까?
답변1
귀하의 예에서 당신은바꾸다당신의 기대를 표현하는 장소단어:
if [[ RCS/$dog* -nt dog ]] ; then echo not older than dog ; else echo older than dog ; fi
그건,
이것은 변수입니다:
$dog
, 설정하지 않으면 다음과 같은 결과가 나타납니다.RCS/*
(또는 다른 경우$dog
로 설정되는 일이 발생합니다.cat
).이것은 문자 그대로의 의미입니다:
dog
, 그리고RCS/dog*
일치합니다RCS/dog,v