এসইতে অনেকগুলি প্রশ্ন রয়েছে যা দেখায় যে টার্মিনালটি কীভাবে ভেঙে যায় cat /dev/urandom
। যারা এই সমস্যাটির সাথে অপরিচিত তাদের জন্য - এটি সম্পর্কে কী তা এখানে:
- আপনি নির্বাহ
cat /dev/urandom
বা সমতুল্য (উদাহরণস্বরূপ,cat binary_file.dat
)। - আবর্জনা ছাপানো হয়।
এটি ঠিক আছে ... আপনার টার্মিনালটি কমান্ড শেষ হওয়ার পরেও আবর্জনা মুদ্রণ অব্যাহত রাখে ! প্রকৃতপক্ষে g ++ আউটপুট হ'ল একটি রেন্ডারেন্ডার্ড পাঠ্যের একটি স্ক্রিনশট এখানে রয়েছে:
আমার ধারণা, লোকেরা সি ++ এর ত্রুটিগুলি সম্পর্কে কখনও কখনও খুব ক্রিপ্টিক থাকায় সঠিক ছিল!
সাধারন সমাধানটি চালানো stty sane && reset
, যদিও প্রতিবার এটি ঘটে তা চালানো এক ধরণের বিরক্তিকর।
সে কারণে, আমি এই প্রশ্নে যা ফোকাস করতে চাই তা হ'ল এটি হবার মূল কারণ এবং এই জাতীয় আদেশ জারি হওয়ার পরে টার্মিনালটি কীভাবে ভাঙ্গতে রোধ করা যায়। আমি আপত্তিজনক কমান্ডগুলি পাইপ করা tr
বা এর জন্য পাইপ করার মতো সমাধানগুলি খুঁজছি না xxd
কারণ এটি আপনাকে চালিত / মুদ্রণের আগে প্রোগ্রাম / ফাইল বাইনারি আউটপুট দেয় তা জানতে হবে এবং প্রতিবার যখন আপনি এই জাতীয় ডেটা আউটপুট করে যান তখন মনে রাখা দরকার ।
আমি ইউআরএক্সভিটি, পটিটিওয়াই এবং লিনাক্স ফ্রেম বাফারে একই আচরণ লক্ষ্য করেছি যাতে আমার মনে হয় না এটি টার্মিনাল-নির্দিষ্ট সমস্যা। আমার প্রাথমিক সন্দেহটি হ'ল এলোমেলো আউটপুটে কিছু এএনএসআই এস্কেপ কোড রয়েছে যা অক্ষর এনকোডিংকে ফ্লিপ করে (বাস্তবে আপনি যদি cat /dev/urandom
আবার চালনা করেন তবে সম্ভাবনা রয়েছে এটি টার্মিনালটি উদ্রেক করবে , যা এই তত্ত্বটি নিশ্চিত করে বলে মনে হচ্ছে)) যদি এটি সঠিক হয় তবে এই পালানোর কোডটি কী? এটি অক্ষম করার কোনও মানক উপায় আছে কি?