Bir dosyanın kabuk komut dosyasındaki hedef dosyadan daha yeni olup olmadığını nasıl kontrol edebilirim


2

Bir dosyanın hedef dosyadan daha yeni olup olmadığını nasıl kontrol edebilirim?

Mac'te çalıştırılmak üzere tasarlanmış bir kabuk komut dosyasında şöyle bir şey yapmak istiyorum:

#!/bin/bash
if [ $SourceFile dateisgreater $TargetFile ] then
    echo "SourceFile is newer that Targetfile"
fi

Yanıtlar:


3
#/bin/bash
if [ "$SourceFile" -nt "$TargetFile" ]; then
    echo "SourceFile is newer than Targetfile"
fi

-nt "daha yeni" anlamına gelir.

Dosya adlarına tırnak ekledim çünkü yankıda alıntı yapmanız gerekirse, dosya adlarında da alıntı yapmanız gerekir ...


Değişkenlerin etrafından alıntı yapmak, değerlerin (bu durumda, dosyaların isimleri) boş alana sahip olmalarıdır. Alıntı yapmadan ve beyaz boşluk olmadan bash if testi doğru şekilde ayrıştıramazdı.
şüpheli
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.