コマンドは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
。誰かこれを修正する方法を提案してもらえますか?
答え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