আপনি যদি এই bashহিসাবে চালান :
LD_DEBUG=bindings bash
একটি জিএনইউ সিস্টেমে, এবং bash.*tinfoআউটপুটটির জন্য গ্রেপ , আপনি এর মতো কিছু দেখতে পাবেন:
797: binding file bash [0] to /lib/x86_64-linux-gnu/libtinfo.so.5 [0]: normal symbol `UP'
797: binding file bash [0] to /lib/x86_64-linux-gnu/libtinfo.so.5 [0]: normal symbol `PC'
797: binding file bash [0] to /lib/x86_64-linux-gnu/libtinfo.so.5 [0]: normal symbol `BC'
797: binding file bash [0] to /lib/x86_64-linux-gnu/libtinfo.so.5 [0]: normal symbol `tgetent'
797: binding file bash [0] to /lib/x86_64-linux-gnu/libtinfo.so.5 [0]: normal symbol `tgetstr'
797: binding file bash [0] to /lib/x86_64-linux-gnu/libtinfo.so.5 [0]: normal symbol `tgetflag'
আপনি nm -D /bin/bashযে bashটিউনফো থেকে এই চিহ্নগুলি ব্যবহার করছেন তার আউটপুট থেকে নিশ্চিত করতে পারেন ।
এই চিহ্নগুলির মধ্যে যে কোনও একটির জন্য ম্যান পৃষ্ঠা আনতে তারা কী জন্য তা স্পষ্ট করে:
$ man tgetent
NAME
PC, UP, BC, ospeed, tgetent, tgetflag, tgetnum, tgetstr, tgoto, tputs -
direct curses interface to the terminfo capability database
মূলত, bashসম্ভবত এটির readline(লাইব্রেডলাইনটি স্ট্যাটিকভাবে সংযুক্ত রয়েছে) সম্পাদক, টার্মিনাল ক্ষমতা সম্পর্কে অনুসন্ধানের জন্য এটি টার্মিনো ডাটাবেসটি জিজ্ঞাসা করতে ব্যবহার করে যাতে এটির লাইন সম্পাদকটি সঠিকভাবে চালাতে পারে (ডান পলায়নের ক্রমগুলি প্রেরণ এবং সঠিকভাবে কী টিপুনগুলি সঠিকভাবে সনাক্ত করতে পারে) টার্মিনাল।
কেন পঠনরেখাকে স্থিতিশীলভাবে সংযুক্ত করা হয়েছে bash, আপনার মনে রাখতে হবে যে একই ব্যক্তির readlineপাশাপাশি বিকশিত bashহয়েছে এবং এর উত্সে অন্তর্ভুক্ত রয়েছে bash।
bashসিস্টেমের ইনস্টলডের সাথে সংযোগ স্থাপন করা সম্ভব libreadline, তবে কেবলমাত্র যদি এটির একটি সামঞ্জস্যপূর্ণ সংস্করণ হয় এবং এটি ডিফল্ট নয়। configureসংকলনের সময় আপনাকে স্ক্রিপ্টটি কল করতে হবে --with-installed-readline।
TERM? আহ, কিছু মনে করবেন না - আমি উত্স প্যাকেজটি দেখতে পাচ্ছিncurses।