Built-in testdan [utilitas memiliki tes -nt("lebih baru dari") dan -ot("lebih tua dari") di sebagian besar shell, bahkan ketika shell berjalan dalam "mode POSIX" (juga berlaku untuk utilitas eksternal dengan nama yang sama pada sistem yang saya punya akses). Tes ini untuk membandingkan cap waktu modifikasi pada dua file. Semantik terdokumentasi mereka sedikit berbeda di seluruh implementasi (berkaitan dengan apa yang terjadi jika satu atau file lain ada pada tidak), tetapi mereka tidak termasuk dalam spesifikasi POSIX. untuk testutilitas .
Mereka tidak dibawa maju ke
testutilitas ketika perintah kondisional dihapus dari shell [KornShell] karena mereka belum dimasukkan ke dalamtestutilitas yang dibangun ke dalam implementasi historisshutilitas.
Dengan asumsi saya ingin membandingkan timestamp modifikasi antara file dalam /bin/shskrip shell dan kemudian mengambil tindakan tergantung pada apakah satu file lebih baru dari yang lain, seperti pada
if [ "$sigfile" -nt "$timestamp" ] ||
[ "$sigfile.tmp" -nt "$timestamp" ]
then
return
fi
... utilitas lain apa yang bisa saya gunakan, selain dari make(yang akan membuat sisa skrip sulit untuk sedikitnya)? Atau haruskah saya berasumsi bahwa tidak ada orang yang akan menjalankan skrip pada "implementasi historis sh", atau mengundurkan diri untuk menulis untuk shell tertentu seperti bash?
-ntfiturtestdengan cara yang diharapkan sejak kira-kira. 1995. Anda harus menggunakanfindekspresi basd bahkanbashjika Anda suka perilaku yang benar.