বিল্ট-ইন test
এবং [
ইউটিলিটিগুলির বেশিরভাগ শেলগুলিতে -nt
("এর চেয়ে নতুন") এবং -ot
("এর চেয়ে বড়") পরীক্ষা রয়েছে, এমনকি শেলটি "পসিক্স মোডে" চলমান থাকলেও (একই নামগুলির বহিরাগত ইউটিলিটিগুলির ক্ষেত্রেও সত্য যে সিস্টেমে আমার অ্যাক্সেস রয়েছে)। এই পরীক্ষাগুলি দুটি ফাইলে সংশোধন টাইমস্ট্যাম্পগুলির তুলনা করার জন্য। তাদের নথিভুক্ত শব্দার্থবিজ্ঞানগুলি বাস্তবায়ন জুড়ে কিছুটা আলাদা হয় (এক বা অন্য ফাইলটি উপস্থিত না থাকলে কী ঘটে তার সাথে সম্পর্কিত), তবে তারা পসিক্স স্পকেtest
অন্তর্ভুক্ত হয় না । জন্য উপযোগ ।
test
কন্ডিশনাল কমান্ড যখন [কর্নশেল] শেল থেকে সরানো হয়েছিল তখন সেগুলি ইউটিলিটিতে অগ্রসর করা হয়নি কারণ সেগুলিtest
ইউটিলিটির historical তিহাসিক বাস্তবায়নে নির্মিত ইউটিলিটিতে অন্তর্ভুক্ত করা হয়নিsh
।
ধরে নিচ্ছি যে আমি /bin/sh
শেল স্ক্রিপ্টের ফাইলগুলির মধ্যে সংশোধন টাইমস্ট্যাম্প তুলনা করতে চাই এবং তারপরে একটি ফাইল অন্যটির চেয়ে নতুন নতুন কিনা তার উপর নির্ভর করে ব্যবস্থা গ্রহণ করব
if [ "$sigfile" -nt "$timestamp" ] ||
[ "$sigfile.tmp" -nt "$timestamp" ]
then
return
fi
... আমি বাদে আর কী ইউটিলিটি ব্যবহার করতে পারি make
(যা স্ক্রিপ্টের বাকী অংশটিকে কমপক্ষে বলতে অস্বাস্থ্যকর করে তুলবে)? বা আমার কি কেবল ধরে নেওয়া উচিত যে কেউ কখনও "historicalতিহাসিক বাস্তবায়ন" এর উপর স্ক্রিপ্টটি চালাচ্ছেন না sh
, বা নির্দিষ্ট শেলের মতো লেখার জন্য পদত্যাগ করবেন bash
?
-nt
বৈশিষ্ট্যটি কার্যকর করে নাtest
যা প্রত্যাশিত থেকে প্রত্যাশিত। 1995. আপনি সঠিক আচরণ পছন্দ করলেও আপনারfind
বাসড এক্সপ্রেশনটি ব্যবহার করা উচিতbash
।