$_का विस्तार हो रहा है ./access.log(अंतिम निष्पादित कमांड के अंतिम तर्क), नहीं ./data/log.sample।
तो आप वास्तव में की लाइनों की संख्या देख रहे हैं ./access.log।
पुनर्निर्देशन ( >) headकमांड का हिस्सा नहीं है क्योंकि यह शेल द्वारा किया जाता है इससे पहले कि headकमांड शुरू भी हो जाए। इसलिए आपके साथ $_होगा ./access.log।
से man bash:
($ _, एक अंडरस्कोर।) शेल स्टार्टअप पर, शेल या शेल स्क्रिप्ट को लागू करने के लिए उपयोग किए जाने वाले निरपेक्ष पथनाम पर सेट किया जाता है जिसे पर्यावरण या तर्क सूची में पारित किया जाता है। इसके बाद, विस्तार के बाद पिछले तर्क के अंतिम तर्क तक फैलता है । साथ ही निष्पादित किए गए प्रत्येक कमांड को लागू करने के लिए उपयोग किए गए पूर्ण पथनाम पर सेट है और उस कमांड को निर्यात किए गए वातावरण में रखा गया है। मेल की जाँच करते समय, यह पैरामीटर मेल फ़ाइल का नाम रखता है।