Yerleşik testve [yardımcı programlar var -nt( "daha yeni") ve -otaynı isimlerin dış programlar için geçerlidir da (kabuk "POSIX modunda" çalışması sırasında bile, çoğu kabuklarda ( "daha eski") testleri erişebildiğim sistemler). Bu testler, iki dosyadaki değişiklik zaman damgalarını karşılaştırmak içindir. Belgelendirilmiş semantikleri uygulamalar arasında biraz değişiklik gösterir (bir dosya veya başka bir dosya yoksa ne olacağı ile ilgili olarak), ancak POSIX spesifikasyonunatest dahil edilmezler . için yarar .
Bunlar taşınmadığı edildi
testbunlar dahil edilmemiştir, çünkü koşullu komut [KornShell] kabuğundan çıkarılmış yardımcıtesttarihsel uygulamaları yerleşik yardımcıshprogramı.
Bir /bin/shkabuk komut dosyasındaki dosyalar arasındaki değişiklik zaman damgasını karşılaştırmak ve sonra bir dosyanın diğerinden daha yeni olup olmadığına bağlı olarak işlem yapmak istediğimi varsayarsak
if [ "$sigfile" -nt "$timestamp" ] ||
[ "$sigfile.tmp" -nt "$timestamp" ]
then
return
fi
... başka hangi yardımcı programı da kullanabilirim make(betiğin geri kalanını en azını söylemeye yaramaz)? Yoksa hiç kimsenin senaryoyu "tarihsel uygulaması" üzerinde çalıştırmayacağını shveya belirli bir kabuk için yazmaya istifa etmeyeceğini bashmi varsaymalıyım ?
-ntözelliğinitestyakl. 1995. Doğru davranışıfindsevseniz bile basd ifadesini kullanmalısınızbash.