অন্যান্য উত্তর এবং সম্পর্কিত মন্তব্যগুলিতেSTTY
কিছু ভুলত্রুটি পরিষ্কার করার জন্য historical তিহাসিক কমান্ডের কয়েকটি নোট :
ডিসি ভিটি05 বা ভিটি 50 এর মতো পূর্ববর্তী টার্মিনালগুলি এবং তার আগে টেলিফ্রিন্টারগুলি কেবলমাত্র বড় হাতের অক্ষরকেই সমর্থন করে। এর অর্থ হ'ল কোনও ছোট অক্ষরের অক্ষর তাদের থেকে ইনপুট হতে পারে না বা তারা উচ্চতর অক্ষরের চেয়ে অন্য কোনও চিঠি প্রদর্শন করতে সক্ষম হয় না।
ইউনিক্স কেস সংবেদনশীল এবং বেশিরভাগ কমান্ড লোয়ার কেস হওয়ার কারণে আপনি দেখতে পাচ্ছেন যে সেখানে একটি সমস্যা আছে। সেজন্য এগুলি পরিচালনা করতে বিশেষ টার্মিও / টার্মিওস মোডগুলি রয়েছে (এবং এটি এখনও আধুনিক ইউনিসে রয়েছে যদিও সেই টার্মিনালগুলি দীর্ঘ হয়ে গেছে) those
টার্মিও / টের্মিওগুলি ইউনিক্সের টিটিআই ড্রাইভারটি নিয়ন্ত্রণ করার জন্য যথাক্রমে পুরানো এবং নতুন ইন্টারফেস। একটি টার্মিও (গুলি) এ ioctl
, আপনি ইনপুট, আউটপুট, নিয়ন্ত্রণ পতাকাগুলি নির্দিষ্ট করে ... যা সিরিয়াল লাইনে বৈদ্যুতিক সিগন্যালগুলি কীভাবে ইনপুট এবং আউটপুট চরিত্রগুলিতে হ্যান্ডেল করা হবে এবং ড্রাইভারের আর্ট জিনিস যেমন প্রতিধ্বনি, লাইন সম্পাদক ... তাদের বেশিরভাগই আধুনিক ইউনিক্স ভিজিএ কনসোল বা সিউডো টার্মিনালের মতো ভার্চুয়াল টার্মিনালগুলিতে প্রয়োগ করে।
কমান্ড লাইন ইন্টারফেসটি termio(s)
হ'ল stty
কমান্ড।
উচ্চ-কেস টার্মিনালগুলি পরিচালনা করতে, এখানে তিনটি termio(s)
পতাকা জড়িত রয়েছে:
IUCLC
(ইনপুট আপার আপার কে লোয়ার কেস এ): ইনপুট করার সময় আগত অক্ষরগুলি লোয়ার কেসে রূপান্তরিত হয়। তার অর্থ A
টার্মিনাল দ্বারা প্রেরিত একটি হিসাবে বিবেচিত হয় a
। তার মানে তাদের এই সঙ্গে, আমি এখন টাইপ করতে পারেন LS
আমার VT50, এবং শেল পড়তে হবে ls
থেকে /dev/ttyX
। আমি এখন stty
কমান্ড চালাতে পারি ।
- এখন,
IUCLC
একা এবং টার্মিনাল সহ echo
, আমি টাইপ করার সময় LS
, ড্রাইভারটি ls
টার্মিনালে ফিরে পাঠাত (যাতে আমি কী টাইপ করতে পারি তা প্রদর্শন করতে পারে না), সুতরাং আমাদেরও প্রয়োজন OLCUC
(আউটপুট লোয়ার কেস টু আপার কেস), এটি হ'ল টার্মিনালে প্রেরণের আগে আমাদের যে কোনও ছোট অক্ষরের বড় হাতের অক্ষরে রূপান্তর করতে হবে।
- এখন, আমরা একটি ভিটি 50 থেকে ইউনিক্স পরিচালনা করতে পারি, তবে আমরা যদি এখন বড় হাতের অক্ষরগুলি ইনপুট করতে চাই তবে কী হবে? এটিই
xcase
স্থানীয় পতাকাটি আসে This এটি (কেবলমাত্র ইনপুট মোডে) A
টাইপ করে একটি উচ্চতর কেস প্রেরণ করতে দেয় \A
এবং আউটপুটে একটি উপরের কেস A
হিসাবে রেন্ডার করা হয় \A
। (এটি একটি লিনাক্সে প্রয়োগ করা হয়নি)
stty
কমান্ড সংশ্লিষ্ট হয়েছে iuclc
, olcuc
এবং xcase
: সেটিংস এবং সব তিনটি জন্য একটি alias lcase
। ডিফল্ট সেটিংস এবং আপনি যা পাবেন stty sane
তা lcase
বন্ধ।
সুতরাং, আপনি যখন কোনও ভিটি 50 এ থাকবেন, আপনাকে যা করতে হবে তা চালানো যেতে পারে:
stty lcase
কিছু করতে সক্ষম হতে। তবে ধরুন, আপনি যখন কেবলমাত্র বড় হাতের অক্ষর পাঠাতে পারেন তবে কীভাবে আপনি তা করবেন? এই জন্য আপনার STTY
একটি উপাধি হিসাবে একটি কমান্ডের প্রয়োজন stty
এবং সে কারণেই একটি উপাধি হিসাবে stty
সমর্থন করে ।LCASE
lcase
এর মতো কোনও SANE
উপনাম নেই কারণ আপনি stty sane
যখন টার্মিনালটি সমস্ত-বড় হয়ে যান তখন আপনি করতে চান না ।
আপনি যদি কোনও সাধারণ টার্মিনালে চালিয়ে যান stty lcase
বা stty olcuc
ভুল করে চালিয়ে যান (এটি চেষ্টা করুন xterm
বা যেকোন আধুনিক টার্মিনালটিতে), সেখানেই আপনাকে stty sane
স্বাভাবিক অবস্থায় ফিরে আসতে হবে। তবে এর জন্য আপনার কোনও STTY
আদেশের দরকার নেই । আপনি টাইপ তাহলে stty sane
, আপনি হবে দেখতে STTY SANE
ফিরে প্রতিধ্বনিত, কিন্তু যে শুধুমাত্র প্রদর্শিত পাঠ্য (সেখানে প্রবেশ করে নি কমান্ড) যে অনুবাদ করা হবে, এটি এখনও stty sane
কমান্ড রান করা হবে না।
ঐ iuclc
, olcuc
, xcase
পতাকা POSIX দ্বারা নির্দিষ্ট করা ব্যবহৃত (এবং যে সম্ভবত কেন এটা লিনাক্স বাস্তবায়িত হয় যদিও আমি গম্ভীরভাবে সন্দেহ কেহ কখনও একটি লিনাক্স সিস্টেমে সকল পুরানো টার্মিনাল (মজার জন্য ছাড়া) কোনো সংযুক্ত), কিন্তু এ সরানো হয়েছে POSIX: 2001।