শেল পরিবর্তনশীল expected _ প্রত্যাশার মতো আচরণ করছে না


11

লাইনের সংখ্যা পৃথক হওয়ার কারণ কী?

$ head -n 100000 ./access.log > ./data/log.sample
$ cat $_ | wc -l
1933424

1
এছাড়াও পরিদর্শন বিশেষ পরামিতি ব্যাশ জন্য
পান্ড্য

1
একটি ইন্টারেক্টিভ প্রসঙ্গে, !$আপনি যা চান তা করে তবে এটি কোনও স্ক্রিপ্ট আইআইআরসিতে কাজ করবে না।
zwol

@ জেওল: হ্যাঁ আমি এটি সম্পর্কে একটি প্রশ্ন জিজ্ঞাসা ।
তাঁত

teeআপনার স্ক্রিপ্টে আপনার আদেশটি ব্যবহার করা উচিত ।
দিতি

উত্তর:


26

$_প্রসারিত হয় ./access.log(শেষ কার্যকর আদেশের শেষ যুক্তি), না ./data/log.sample

সুতরাং আপনি আসলে লাইন সংখ্যা দেখতে পাচ্ছেন ./access.log

পুনর্নির্দেশ ( >) headকমান্ডের অংশ নয় কারণ কমান্ডটি শুরুর আগে শেল দ্বারা এটি করা হয় head। সুতরাং $_আপনি পেতে হবে ./access.log


থেকে man bash:

($ _, একটি আন্ডারস্কোর) shell শেল প্রারম্ভকালে, পরিবেশ বা যুক্তি তালিকায় পাস করার সাথে সাথে শেল বা শেল স্ক্রিপ্টটি কার্যকর করার জন্য নিরঙ্কুশ প্যাথনামে সেট করা থাকে। এরপরে, প্রসারণের পরে পূর্ববর্তী কমান্ডের সর্বশেষ যুক্তিতে প্রসারিত হয়। প্রতিটি কমান্ড কার্যকর করা এবং সেই আদেশে রফতানি করা পরিবেশে রাখার জন্য ব্যবহৃত পুরো পথের নাম সেট করুন। মেল চেক করার সময়, এই পরামিতিটি মেল ফাইলটির নাম ধারণ করে।


1
@ জে.চোমেল আমি নিশ্চিত নই যে আপনি কী মনে করছেন বাগ, এমনকি মজা করে।
চিপনার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.