এই প্রশ্নটি আমাকে কয়েক দিন ধরে বিরক্ত করছে, এবং আমি শিখেছি সমস্ত উপাদান সহ আমার সম্পাদিত পোস্ট এখানে's বিশেষত, আমার লক্ষ্যটি ছিল BASH- তে প্রম্পটের পাশে ঘড়ি দেখানো। রাদু রাদানু তার উত্তরে যেমন উল্লেখ করেছেন, তেমন কী বা ক্রিয়াকলাপটি অনুসন্ধান করা যা আপনার স্ক্রিনে বা আপনার টাইপের সাথে কোনও হস্তক্ষেপ না করে ক্রমাগত কমান্ড প্রম্পটকে রিফ্রেশ করতে বা স্ক্রিনটি পুনরায় আঁকতে সক্ষম। যদিও, জিএপি দ্বারা দেখানো হয়েছে, উইল লুপের সাহায্যে এটি অর্জন করা সম্ভব, টুপট ফাংশন সহ স্ক্রিনের ধ্রুবক পুনরায় আঁকাগুলি ততক্ষণে ততক্ষণে আমার স্ক্রিনে যা কিছু লেখা আছে তা তা সতেজ করে। জিপিএপি পোস্ট করা কোডটি কিছুটা সংশোধন করে ওপি যা বলেছিল তা অর্জনের খুব কাছাকাছি এসেছি, তবে তবুও আমি বিশ্বাস করি যে রাদুর উত্তর ওপি যা চায় তার সবচেয়ে নিকটতম। আরও অ্যাডো না করে, আমি এখানে কিছু জিনিস করছি '
# 1, আমার পছন্দসই সমাধান: টার্মিনাল মাল্টিপ্লেক্সার
টার্মিনাল মাল্টিপ্লেক্সার এমন একটি সফ্টওয়্যার যা টার্মিনাল স্ক্রিনটি দুটি বা ততোধিক স্ক্রিনে বিভক্ত করতে দেয়। বিশেষত, আমি বাইবো টার্মিনালের দিকে দৃষ্টি আকর্ষণ করতে চাই। এই ncurses ভিত্তিক টার্মিনাল এমুলেটর, আপনাকে সময়, সিপিইউ শতাংশ, মেমরি এবং অন্যান্য সূচকগুলির পুরো গোছা দেখাতে দেয়। আমার বাইবু টার্মিনালের স্ক্রিনশটে আপনি সিপিইউ তাপমাত্রা, ব্যাটারি শতাংশ, ইন্টারনেট সংযোগের মান, সিপিইউ ফ্রিকোয়েন্সি, র্যাম, তারিখ এবং অবশ্যই সময় দেখতে পাবেন। টার্মিনালে থাকাকালীন আপনি যদি নিয়মিত এই জিনিসগুলি পর্যবেক্ষণের সাথে বেশিরভাগ ক্ষেত্রে উদ্বিগ্ন হন তবে বাইবু যাওয়ার উপায়। আসলে, আমি এটিকে অনেক পছন্দ করতে এসেছি, tty এ লগইন করার সময় এটি স্বয়ংক্রিয়ভাবে লোড করার জন্য সেট করেছি। একমাত্র উদ্বিগ্নতা হল যে tty তে আপনি পৃথক উইন্ডোজকে সত্যিকার অর্থে আলাদা করতে পারবেন না - কেবল F3 এবং F4 কীগুলির সাহায্যে ট্যাবগুলির মধ্যে স্যুইচ করতে পারেন।
মাল্টিপ্লেক্সিং উইন্ডোগুলির সাথে জড়িত একটি বিকল্প সমাধান হ'ল splitvt
পর্দাটি দুটি ভাগে বিভক্ত করে। আপনি একটি টার্মিনাল ঘড়ি যেমন চালাতে পারেন tty-clock
, তারিখের সাথে ওয়াচ কমান্ডটি ব্যবহার করতে পারেন, বা আপনি নিজেকে কোনও স্ক্রিপ্ট দিয়ে কোড করতে পারেন। আরও পরে। স্ক্রিনশটে আপনি বিভাজনের একটি অংশ শীর্ষে স্বাভাবিক বাশ প্রম্পট সহ দেখতে পাবেন এবং নীচের অংশে আপনি একটি স্ক্রিপ্ট চলমান দেখতে পাবেন যা date
কমান্ডের সাহায্যে clear
কমান্ডের আউটপুটকে নিয়মিত রিফ্রেশ করে ।
# 2, ডু লুপ এবং টিপুটের সময়
সম্ভবত যে প্রশ্নটি জিজ্ঞাসা করেছিল সে বাশ দিয়ে প্রয়োগ করতে পারে তার পক্ষে এটি সম্ভবত সম্মতি নয়।
জিএপি while do
ও tput
কমান্ডগুলির সাথে জড়িত একটি দুর্দান্ত সমাধান পোস্ট করেছে । তবে জিএপির কোডে দুটি জিনিস ছিল যা আমি পছন্দ করি না। এক, ঘড়িটি প্রম্পটের ডানদিকে ছিল এবং দুটি - কারণ ঘুম চক্রটি 1 সেকেন্ড (মূল কোডটি যেখানে এটি ঘুম বলে সেখানে উল্লেখ করুন), স্ক্রিনটি প্রতি সেকেন্ডে পুনরায় চিত্রিত হয় এবং এটি আমার আউটপুটকে ব্যর্থ করে দেয়। আমি যা করেছি তা হ'ল আমার বাশ প্রম্পটটি সম্পাদনা করে \ n অপারেটরের সাথে এক লাইন নীচে হতে হবে এবং জিএপি এর কোড পরিবর্তন করা হবে যাতে টিপুট অপারেটরটি প্রম্পটের ডানদিকে ঘড়িটি অবস্থান করে এবং প্রতি 60 সেকেন্ডে রিফ্রেশ করে; এটি আমাকে ঘন্টা এবং মিনিট দেখতে দেয় (এবং আমি মিনিট সম্পর্কে ঠিক তেমন যত্ন করি না), যখন ঘড়ির লুপটি আমার স্ক্রিনকে বিশৃঙ্খলা করে না। প্রথমত, আমার প্রম্পটটি এখানে:
PS1='${debian_chroot:+($debian_chroot)}\n[*\u@Ubuntu*]\n $(date) :\w\$ '
এবং এখানে জি_পি'র সংশোধিত কোডটি রয়েছে: enter code here
while sleep 60;do tput sc;tput cup 0 0;date +%R;tput rc;done &
ছোট সম্পাদনা : আমি লক্ষ্য করেছি যে উপরের এই কোডটি কখনও কখনও ঘড়িটি সরাসরি এনে দেয় না। আরও ভাল সংস্করণটি এখানে: while true; do tput sc;tput cup 0 0;date +%R;tput rc; sleep 60; done &
এটি প্রথমে স্ক্রিনে ঘড়ি রাখে, তারপরে বাশকে 60 সেকেন্ডের ঘুমের চক্রটি যেতে দেয়
দ্রষ্টব্য, টিপুট কাপ 0 0 স্ক্রিনের উপরের ডান কোণে ঘড়ি রাখে, আমার প্রম্পটের ঠিক উপরে এবং ঘুম 60 মিনিটের ঘুম চক্রটিকে 60 সেকেন্ডে পরিবর্তন করে, কারণ এইভাবে আমি প্রতি সেকেন্ডের পরিবর্তে কেবল কয়েক ঘন্টা এবং মিনিট পর্যবেক্ষণ করতে পারি। এইভাবে, স্ক্রিনে আমার যা কিছু পাঠ্য রয়েছে তা বেশিরভাগ অংশের জন্য প্রভাবিত হয় না (কেবল তখনই যখন আমি একটি কমান্ড চালাতে পারি তখন একই সময় ঘড়ি রিফ্রেশ হয়)।
PS1 লাইনটি ইতিমধ্যে আপনার .Bashrc প্রোফাইলে রয়েছে, সুতরাং আপনাকে এটির জন্য কিছুটা সামান্য টুইট করতে হবে। ডু লুপটি একই ফাইলে কোথাও যুক্ত করা উচিত, শেষ পর্যন্ত # মন্তব্য দিয়ে যে আপনি এটি প্রাথমিকভাবে যুক্ত করেছেন stuff এবং আপনি যেভাবে বুবু তৈরি করেন এবং যেভাবে আগের পথে ফিরে যেতে হয় সেই ক্ষেত্রে যে কোনও ফাইলকে সর্বদা ব্যাক আপ করতে ভুলবেন না।
# 3, স্ক্রিপ্টিং এবং অন্যান্য
এই অংশটি কেবল তাদের জন্য যারা সময় দেখতে চান। যারা ক্রমাগত এটি নিরীক্ষণ করতে চান তাদের জন্য # 1 এবং # 2 পছন্দসই বিকল্প।
সুতরাং আমরা ইতিমধ্যে দেখেছি যখন লুপটি বেশ কার্যকর। লুপ, তারিখ এবং স্লিপ কমান্ডের সাহায্যে আপনি কীভাবে একটি ঘড়ি তৈরি করতে পারেন তা এখানে।
রিটার্ন / এন্টার চাপুন এবং আপনি মূলত প্রতি সেকেন্ডে সাফ পর্দায় প্রদর্শিত তারিখ কমান্ডের আউটপুট দেখতে পাবেন। আপনি যদি প্রতিবারের মতো এটি টাইপ করতে না চান তবে এই সমস্ত জিনিসটি স্ক্রিপ্টে রূপান্তর করুন:
#!/bin/bash
while true
do
clear;date
sleep 1
done
এখন আপনি সেই স্ক্রিপ্টটি ব্যাশ-এর এক উদাহরণে splitvt দিয়ে চালাতে পারবেন, অন্য ক্ষেত্রে কাজ করার সময়।
আর একটি সমাধান হ'ল watch -n1 date
কমান্ড, যা ধারাবাহিকভাবে 1 সেকেন্ড সময়কাল সহ ডেট কমান্ড কার্যকর করবে।
উপসংহারে: আমি এই প্রশ্নের উত্তর সন্ধান করার সময় কিছু জিনিস শিখেছি এবং আমি আশা করি যে আমার অনুসন্ধানগুলি আপনাকে কোনও উপায়ে সহায়তা করবে এবং আমি আশা করি যে আমি এই প্রশ্নে অবদান রাখতে সক্ষম হয়েছি। বাইবু টার্মিনাল আইএমএইচও হ'ল সেরা সমাধান, তবে নিজের জন্য সিদ্ধান্ত নিন, কিছু গবেষণা করুন এবং যে কোনও উপায়ে আপনার পক্ষে সবচেয়ে কার্যকর হয় তা চয়ন করুন।
গবেষণা করার সময় আমি কিছু জিনিস খুঁজে পেয়েছি:
আমার আসল পোস্ট, সর্বনিম্ন সমাধান: আপনার ~ / .bashrc ফাইলটি সম্পাদনা করুন। আমি ন্যানো দিয়ে এটি সম্পাদনা পছন্দ, তাই
nano ~/.bashrc
আমার নিজের সম্পাদিত ফাইলের অংশটি এখানে:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\$'
else
# PS1='${debian_chroot:+($debian_chroot)}[*\u@Ubuntu*]:\w\$ '
PS1='${debian_chroot:+($debian_chroot)}[*\u@Ubuntu*]\t:\w\$ '
fi
অন্য বিবৃতি দেওয়ার পরে প্রথম লাইনটি # দিয়ে মন্তব্য করা হয়েছে (এটি আমার পুরানো প্রম্পট), এখন দ্বিতীয় লাইনটি আপনি চান সেটি এবং বিশেষত \t
অপারেটর। এটি 24 ঘন্টা ফর্ম্যাটে চলমান সময় দেখায়। আরো তথ্যের জন্য খুঁজে বার করো এই । এছাড়াও একটি ছোট নোট, আমি স্টাফগুলি অন্যের পরে ব্যবহার করছি, কারণ আমি রঙিন প্রম্পট ব্যবহার করছি না।
পিএস: দয়া করে আমাকে আমার উত্তরটিতে কিছু যুক্ত করা উচিত বা কোনওভাবেই এডিট করা উচিত কিনা তা আমাকে জানান, তবে বেশিরভাগ অংশের জন্য আমি বিশ্বাস করি এটিই আমার পক্ষে সবচেয়ে চূড়ান্ত উত্তর হতে পারে, এবং কমপক্ষে আমি ব্যক্তিগতভাবে কিছু যোগ করব না এটি নতুন।
$PS1
(প্রম্পট) ভেরিয়েবল সেট করতে সক্ষম হতে পারেন, তবে পরিবর্তন হয়েছে কিনা তা আমি নিশ্চিত নই।