मैंने इस और इस तरह के कई सवाल और जवाब पढ़े
मुझे पता है कि कमांड चलाने से पहले वाइल्डकार्ड शेल द्वारा विस्तारित किए जाते हैं और वे शेल की एक विशेषता हैं। वाइल्डकार्ड उन आदेशों के साथ काम करते हैं जो कई तर्कों को स्वीकार कर सकते हैं। में find . -name *.rb
अगर हम वर्तमान निर्देशिका में एक से अधिक फ़ाइल है find
हमें एक त्रुटि दे खोजने कई तर्कों और हल करने के लिए इस कर रहे हैं तरीके को स्वीकार नहीं कर सकते क्योंकि जाएगा:
find . -name "*.rb"
find . -name '*.rb'
find . -name \*.rb
हम तारांकन से बचते हैं और शेल द्वारा विस्तार को रोकते हैं लेकिन वाइल्डकार्ड शेल की एक विशेषता है; जब हम तारांकन चिह्न से बचते हैं, तो इसके अर्थ के बारे में नहीं जानते हैं, और इसे नाम की एक फ़ाइल मिलनी चाहिए *.rb
, इसलिए इस मामले में तारांकन का विस्तार कैसे किया जा रहा है?