অজান্তে টার্মিনালে একটি অসীম লুপ চালায়


9

আমি নীচের কোডটি কিছু এলোমেলো উত্স থেকে আমার টার্মিনালে অনুলিপি করে চলেছি:

while sleep 1;
  do tput sc;
  tput cup 0 $(($(tput cols)-29));
  date;
  tput rc;
done &

কোডটি টার্মিনালের উপরের ডানদিকে কোণায় একটি চলমান ঘড়ি দেখানোর জন্য। স্নিপেটটি খুব ভালভাবে কাজ করেছিল এবং ঠিক আমি যা চেয়েছিলাম ঠিক তা করেছে তবে এখন আমি কেবল এই লুপটি শেষ করতে এবং ঘড়ির হাত থেকে মুক্তি পেতে চাই।

এছাড়াও, আমাকে উপরের কোডটি বুঝতে হবে। আমি কিছু ধারণা পেয়েছি, যেমন আমি জানি যে tputকমান্ডটি কী করে, তবে এখনও অনেকগুলি বিন্দু রয়েছে যা আমি সংযোগ করতে পারছি না।


1
jobsসক্রিয় পটভূমির কাজগুলি তালিকা করতে আপনার সেশনে চালাতে পারেন এবং তারপরে টাইপ করে অগ্রভাগে রেখে যেতে পারেন fg <job number>। এই অসীম লুপটি বন্ধ করতে Ctrl + C টাইপ করুন। এই দৃশ্যটি কেবল টার্মিনালে কাজ করছে যা স্নিপেট চালায়।
ইউরিজ গনচরুক

আপনাকে অনেক ধন্যবাদ, লুপ থেকে মুক্তি পাওয়ার খুব পরিষ্কার উপায়। এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
কার্তিক চৌহান

আপনাকে স্বাগতম! আমি উত্তর উত্তর হিসাবে এটি করা।
ইউরিজ গনচরুক

1
মনে রাখবেন যে টার্মিনাল উইন্ডোটি কেবল বন্ধ করে দেওয়া এটির সাথে যুক্ত সমস্ত চলমান কাজও বন্ধ করে দেবে।
ট্রিল্কলি

আপনার এখানে দুটি প্রশ্ন আছে। আপনি কি নতুন প্রশ্নকে ২ য় ভাগে ভাগ করতে পারবেন?
ctrl-alt-delor

উত্তর:


15

jobsসক্রিয় ব্যাকগ্রাউন্ড জব তালিকা করতে আপনার সেশনে কমান্ড চালাতে পারেন এবং তারপরে টাইপ করে অগ্রভাগে রেখে দিতে পারেন fg <job number>। তারপরে এই অসীম লুপটি বন্ধ করতে Ctrl+ টাইপ করুন C

এই দৃশ্যটি কেবল টার্মিনালে কাজ করছে যা স্নিপেট চালায়।


ব্যাখ্যা:

tput sc - কার্সার অবস্থান সংরক্ষণ করুন।

tput cup 0 $(($(tput cols)-29))- কার্সারটি 0Y অক্ষ এবং (count of screen columns minus 29)X অক্ষের অবস্থানে নিয়ে যান ।

date - শুধু বর্তমান তারিখ মুদ্রণ করুন।

tput rc - কার্সার অবস্থান পুনরুদ্ধার।

while sleep 1; ... do ... ; done - 1 সেকেন্ড দেরি করে লুপ।

শেলের লুপ help whileসম্পর্কে আরও জানার জন্য টাইপ whileকরুন এবং ম্যান 1 টি টাইপ্ট বা টিএলডিপি tpt ডক অনুসরণ করুন কীভাবে টিপুট কাজ করে তা জানতে।


কোডটি কী করেছিল তা কীভাবে করেছিল তা আমি এখনও জানতে চাই।
কার্তিক চৌহান

@ কার্তিকচৌহান আমি কিছু ব্যাখ্যাও রেখেছি।
ইউরিজ গনচরুক

@ কার্তিকচৌহান আপনি ঠিক বলেছেন! এর ধন্যবাদ! আমি এই ঠিক করেছি।
ইউরিজ গনচারুক

3
kill %1(বা একাধিক কাজ থাকলে আলাদা নম্বর) fg+ এর বিকল্পCtrl-C
রোমান ওডাইস্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.