less
stdout
এটি কোনও টার্মিনাল কিনা তা যাচাই করে এবং cat
এটি কখন না হয় তার মতো আচরণ করে (ইওএফ না হওয়া পর্যন্ত স্টিডিনের অনুলিপি করে)।
এই বৈশিষ্ট্যটি আপনাকে এমন স্ক্রিপ্ট বা প্রোগ্রাম লিখতে দেয় যা সবসময় তাদের আউটপুট (যেমন --help
আউটপুট) প্রেরণ করে less
যখন কোনও ফাইলে সহজে পুনঃনির্দেশের অনুমতি দেয়। some_command --fullhelp > help.txt
স্ট্যান্ডিনে পাঠ্য বা কোনও কিছুর মাধ্যমে পৃষ্ঠায় স্পেস-বারের জন্য অপেক্ষা করা থাকলে এটি স্তন্যপান হবে । কিছু কমান্ড (যেমন man
) পেজারের মাধ্যমে তাদের আউটপুট প্রেরণ করবে কিনা তা নির্ধারণের জন্য তাদের নিজস্ব আউটপুট পরীক্ষা করে দেখুন। আপনি যদি চালনা করেন তবে man ls > ls.txt
এটি কখনই আপনার অনুরোধ করে না $PAGER
।
less
কোনও পাইপলাইনে আরও স্টেজ যুক্ত করার সময় আপনি যদি ওয়ান-লাইনারের বাইরে সম্পাদনা করতে ভুলে যান তবে আপনার বিড়ালের মতো আচরণটি সুবিধাজনক।
less
টার্মিনাল মাত্রা (পর্দার আকার, একবারে কতগুলি লাইন প্রদর্শন করতে হবে তা জানতে) প্রয়োজন। ioctl(2)
এটিতে ব্যবহার stdout
একটি অ-টার্মিন্যালে ENOTTY ফিরে আসবে, তাই এটি যাহাই হউক না কেন অ টার্মিনাল মামলাটি পরিচালনা এড়াতে পারে না। less
প্রকৃতপক্ষে isatty(3)
টার্মিনালের মাত্রা যাচাই করার আগে ব্যবহার করে তবে isatty
কেবলমাত্র টাইটি-আইওসিটিএল চেষ্টা করে এবং ত্রুটির অভাবে পরীক্ষা করে কাজ করে।
এমনকি একটি সাধারণ পেজারের মতো more(1)
(কমপক্ষে ইউজ-লিনাক্স সংস্করণ) এই বৈশিষ্ট্যটি রয়েছে কারণ এটি সম্ভবত বাস্তব ক্ষেত্রে সবচেয়ে সহজ বুদ্ধিমান আচরণ that
মনে রাখবেন যে আপনি যখন কোনও কিছু পাইপ করেন less
(যেমন grep foo bar.txt | less
) তখন /dev/tty
কীবোর্ড ইনপুটটির জন্য এটি খুলতে হবে । (আপনি এটি দেখতে এটি দেখতে পারেন echo foo | strace less
)।
bash script.sh
,bash script.sh | cat
,bash script.sh > file
, এবং দেখুন সেখানে কি আউটপুট পাবেন।