বাশ সিক্যুয়েন্স '' 033 [999D 'এর অর্থ কী এবং কোথায় এটি ব্যাখ্যা করা হয়েছে?


19

আমি বাশ সিকোয়েন্সগুলি জুড়ে এসেছি যেমন \033[999Dএবং \033[2K\rযেগুলি টার্মিনালের একটি প্রিন্টআউটে কিছু হেরফের করতে ব্যবহৃত হয়। তবে এই সিকোয়েন্সগুলির অর্থ কী? এই সিকোয়েন্সগুলির অর্থ জানতে আমাকে সহায়তা করতে ওয়েবে আমি কোথায় একটি তালিকা / সংক্ষিপ্তসার পেতে পারি?


3
এগুলি টার্মিনাল সিকোয়েন্স, বাশ সিকোয়েন্স নয়। আপনার টার্মিনাল ডকুমেন্টেশনগুলি তাদের ফাংশন নির্ধারণ করার জন্য আপনাকে দেখতে হবে।
ক্রিস ডাউন

1
এই ক্রমগুলি আউটপুটটিকে রঙিন করে তোলে। পরীক্ষা করে দেখুন: stackoverflow.com/questions/16845699/... এবং stackoverflow.com/questions/5947742/...
adizere

1
@ অ্যাডিজের সমস্ত পালানোর ক্রম রঙ পরিবর্তন করে না। এই কিউ এর ক্রমগুলি লাইন ম্যানিপুলেশন এবং কার্সার আন্দোলনের জন্য, রঙ নয়।
কেসি

উত্তর:


32

এই লিঙ্কটি দেখুন http://www.termsys.demon.co.uk/vtansi.htm । অ্যান্টন যেমন বলেছে, \033 পালানো চরিত্রের জন্য সি-স্টাইলের অষ্টাল কোড। [999Dকার্সার ফিরে চলে আসে 999 কলাম, লাইনের শুরু পর্যন্ত পাবার সম্ভবতঃ একটি পাশব বল উপায়। [2Kবর্তমান লাইনটি মুছে ফেলে। \rএটি একটি ক্যারেজ রিটার্ন যা কার্সারটিকে বর্তমান লাইনের শুরুতে ফিরিয়ে আনবে এবং এটি টার্মিনাল কন্ট্রোল সিকোয়েন্সের পরিবর্তে সি-স্টাইলের এস্কেপ সিকোয়েন্স।

হালনাগাদ

অন্য লোকেরা যেমন উল্লেখ করেছে, এই নিয়ন্ত্রণ সিকোয়েন্সগুলি bashনিজে করার মতো কিছুই নয় বরং টার্মিনাল ডিভাইস / এমুলেটরটি পাঠ্যটিতে উপস্থিত হয়। একসময় এই সিকোয়েন্সগুলির পক্ষে সম্পূর্ণ আলাদা হার্ডওয়্যার দ্বারা ব্যাখ্যা করা সাধারণ ছিল। মূলত, প্রত্যেকেই সম্পূর্ণ ভিন্ন কোডের সেটগুলিতে প্রতিক্রিয়া জানায়। এটি termcapএবং terminfoলাইব্রেরিগুলিতে ডিল করার জন্য যেখানে একাধিক টার্মিনালের সাথে সামঞ্জস্যপূর্ণ কোড লেখা হত। tputকমান্ড একটি ইন্টারফেস terminfoলাইব্রেরী ( termcapসমর্থন এছাড়াও কম্পাইল করা যাবে) এবং একটি আরো শক্তসমর্থ উপায় সামঞ্জস্যপূর্ণ সিকোয়েন্স তৈরি করা।

এটি বলেছে, এএনএসআই X3.64 বা ইসিএমএ -48 মানক রয়েছে। যে কোনও আধুনিক টার্মিনাল বাস্তবায়ন এটি ব্যবহার করবে। terminfoএবং termcapবাস্তবায়ন অসম্পূর্ণ হতে পারে বা মানহীন এক্সটেনশনগুলি অন্তর্ভুক্ত করার কারণে এটি এখনও প্রাসঙ্গিক, তবে বেশিরভাগ উদ্দেশ্যে এটি সাধারণ এএনএসআই সিকোয়েন্সগুলি কাজ করবে তা ধরে নেওয়া নিরাপদ।

xterm প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী আধুনিক টার্মিনাল emulators মধ্যে পার্থক্য উপর কিছু মজার তথ্য প্রদান করে (অনেক মাত্র অনুকরণ করার চেষ্টা xtermনিজেই) এবং কি করে xtermসিকোয়েন্স VT100 টার্মিনাল উপরের লিঙ্কটি উল্লেখ সঙ্গে সম্পর্কযুক্ত। এটি নিয়ন্ত্রণের ক্রমগুলির একটি নির্দিষ্ট তালিকা সরবরাহ করেxterm

সাধারণভাবে অবশ্যই ব্যবহার করে তা হল লিনাক্স কনসোল, এটা কন্ট্রোল ক্রম সুস্পষ্ট তালিকা পাওয়া যাবে man console_codes, এর একটি তুলনা বরাবর xterm


আপনি যে লিঙ্কটি অন্তর্ভুক্ত করেছেন সেটি হ'ল পৃষ্ঠাগুলি আমি সন্ধান করছি।
অ্যালেক্স

@ অ্যালেক্স খুশী আমি নিজেই এটি খুঁজে পেয়েছি, বেশিরভাগ পৃষ্ঠাগুলি আমি কেবল কভার রঙ দেখেছি এবং এটি কোনওভাবেই পড়া জটিল। এটি এটিকে সুন্দর এবং সাধারণভাবে দেয়।
গ্রামীণ

সতর্কতা অবলম্বন করুন যে পালানোর কোডগুলির ক্রিয়াটি টার্মিনালের ধরণের উপর নির্ভর করে (এবং আপনি আধুনিক পর্দা / ওএসে বিভিন্ন ধরণের টার্মিনাল অনুকরণ করতে পারেন)। আপনি tputপরিবর্তে কমান্ডগুলি ব্যবহার করতে পারেন , আরও বহনযোগ্যতা থাকতে পারে, তবে (তবে আপনার টার্মিনালের সুনির্দিষ্টতার কম কভারেজ ব্যয় করে)। ভিটি 100 (এক যে পৃষ্ঠার কথা বলে) অনেকগুলি দ্বারা সমর্থিত (তবে সমস্ত কিছুই সমর্থিত নয়, আমি বিশ্বাস করি ...)। তবে আপনার TERM ভেরিয়েবলটি অন্য কোনও টার্মিনালে সেট করা হতে পারে এবং এটি কিছু আদেশের প্রভাবকে প্রভাবিত করতে পারে
অলিভিয়ার ডুলাক

অলিভিয়ার, সঠিক tputএকটি আরও শক্তিশালী উপায়। তবে এটি সুনির্দিষ্ট ভিটি ১০০০ টার্মিনালের চেয়ে এএনএসআই সামঞ্জস্যতা যা এখন মোটামুটি সর্বব্যাপী, যদিও আমি কল্পনা করি যে এটি এমন xtermকোনও মোডে সেট করা সম্ভব যা তাদের গ্রহণ করবে না। আমি মনে করি এটি সম্পর্কে আরও কিছু তথ্য দিয়ে আপডেট করব।
গ্রীম

@ অলিভিয়ার প্রচুর টার্মিনাল এমুলেটর সেট TERM=xtermকরেছেন কিন্তু সবকিছু কার্যকর করে xtermনা।
গ্রামীণ

5

এটি \033হ'ল পালানোর চরিত্র, এবং সেই অনুক্রমগুলি বাশ নির্দিষ্ট নয় তবে টার্মিনাল দ্বারা ব্যাখ্যা করা হয়েছে (সফ্টওয়্যার বা হার্ডওয়্যার (নেটওয়ার্ক বা সিরিয়াল লাইনের মাধ্যমে)) যেখানে (বাশ) প্রোগ্রামটি চালিত হয়। এরকম অনেক সিকোয়েন্স রয়েছে

প্রতিটি যা করে তা টার্মিনালের উপর নির্ভর করে যার জন্য এটি নির্ভরশীল এবং টার্মিনালের অবস্থার পরিবর্তনকারী কোনও পূর্ববর্তী ক্রমের উপরও নির্ভর করে।

এগুলি প্রায়শই ব্যাশ প্রম্পটে রঙ সেট করতে ব্যবহৃত হয় , তবে আমি সেই পৃষ্ঠায় আপনার বিশেষ উদাহরণগুলি পাই নি।


3

'\ 033 [999D' মজার। কিছু টার্মিনালগুলি পালানোর ক্রমগুলির কয়েকটি কম প্রয়োগ করে, তাই '\ 033 [1G', '\ 033 [1; 1 এইচ', '\ 033 [1; 1f', বা '\ r' এর মতো আচরণ না করলে এটির প্রয়োজন হতে পারে উচিত, তবে কে হাজার কলামের পাঠ্য প্রদর্শনটি ব্যবহার করে? এই অনুক্রমগুলির লিনাক্সে একটি ম্যান পৃষ্ঠা রয়েছে: কনসোল_কোডস (4) । bjh21 সমস্ত কোডের একটি বিস্তারিত তালিকা রয়েছে । কোন প্রোগ্রাম '\ 033' কে পার্স করে তার উপর নির্ভর করে আরও স্পষ্ট প্রতিস্থাপন '\ e' উপলভ্য হতে পারে।

এগুলি সরাসরি ব্যবহার করা উচিত নয় - টার্মিনাল কন্ট্রোল কমান্ডগুলি দেওয়ার সঠিক উপায়টি এনক্রাশগুলির মতো বিমূর্ত স্তর সহ রয়েছে - তবে তারা স্ট্রিং লিটারালগুলি থেকে ঠিক একইভাবে কাজ করে।


ভাল কথা, আমি সবেমাত্র ধরে নিয়েছি যে \033[999Dপূর্ববর্তী লাইন (গুলি) এর উপরে ব্যাক আপ হবে। যদিও কেবল ডজি কোডিংয়ের ফলস্বরূপ হতে পারে;) আপনি bashসরাসরি পালানোর কোডগুলি ব্যাখ্যা করতেও পারেন , যেমন$'\033[999D'
গ্রীম

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