কম্পিউটার টিউটোরিয়াল

jm-shell: বিস্তারিত অ্যাক্টিভিটি লগসহ ফিচার-রিচ, কাস্টমাইজেবল বাশ শেল

jm-shell একটি ফ্রি ওপেন সোর্স, ছোট, অত্যন্ত ইনফরমেটিভ এবং কাস্টমাইজড বাশ শেল, যা আপনার শেল অ্যাক্টিভিটি সম্পর্কে বিশাল তথ্যের ভাণ্ডার দেয় এবং কিছু কার্যকর সিস্টেম তথ্য যেমন সিস্টেম লোড এভারেজ, ল্যাপটপ/কম্পিউটারের ব্যাটারি স্ট্যাটাস এবং আরও অনেক কিছু প্রদান করে।

গুরুত্বপূর্ণভাবে, Bash শুধু ইউনিক কমান্ডগুলো হিস্টরি ফাইলে সংরক্ষণ করে পূর্বে চালানো কমান্ড সার্চের জন্য – jm-shell প্রতিটি শেল অ্যাক্টিভিটি একটি লগ ফাইলে রেকর্ড করে।

এছাড়া পড়ুন: বাশ শেলে লিনাক্স “History Command”-এর শক্তি

অতিরিক্তভাবে, যদি আপনার বর্তমান ডিরেক্টরি কোনো ভার্সন কন্ট্রোল সিস্টেম যেমন Git, Subversion, বা Mercurial-এর জন্য কোড রিপোজিটরি হয়, তবে এটি আপনার রিপোজিটরিগুলো সম্পর্কে তথ্য (যেমন সক্রিয় ব্রাঞ্চ) প্রদান করবে।

jm-shell: বিস্তারিত অ্যাক্টিভিটি লগসহ ফিচার-রিচ, কাস্টমাইজেবল বাশ শেলjm-shell: বিস্তারিত অ্যাক্টিভিটি লগসহ ফিচার-রিচ, কাস্টমাইজেবল বাশ শেল

Jm-shell ফিচারসমূহ

  • কমান্ড আলাদা করার জন্য একটি স্ট্যাটাস লাইন (ডিভাইডার) রয়েছে।
  • বর্তমান ডিরেক্টরিতে আইটেমের সংখ্যা প্রদর্শন করে।
  • ফাইল সিস্টেমে বর্তমান লোকেশন দেখায়।
  • একটি শেল লগ ফাইল মেইনটেইন করে – আপনার শেল অ্যাক্টিভিটির পূর্ণ ইতিহাস।
  • সিস্টেম লোড এভারেজ দেখায় যদি হাই হয়ে যায়, ক্রিটিক্যাল হলে (২-র চেয়ে বেশি) লাল রঙে।
  • লাস্ট কমান্ড কখন শেষ হয়েছে তার সময় দেখায়।
  • লাস্ট কমান্ডের এরর কোড প্রিন্ট করে, যদি থাকে।
  • লাস্ট কমান্ডের টোটাল টাইম দেখায় যদি ৪ সেকেন্ডের চেয়ে বেশি হয়।
  • প্রম্পট রূপ: admin@wsxdn.com:path।
  • একাধিক প্রম্পট স্টাইল সাপোর্ট করে।
  • ব্যাকগ্রাউন্ড জব সাপোর্ট করে।
  • ল্যাপটপ ব্যাটারি চার্জ স্ট্যাটাসও দেখায়, যদি ফুল না হয় এবং আরও অনেক ফিচার।

লিনাক্স সিস্টেমে jm-shell ইনস্টল করা

সর্বশেষ সংস্করণের jm-shell ইনস্টল করতে, আপনাকে jm-shell-এর গিট রিপোজিটরি আপনার সিস্টেমে ক্লোন করতে হবে এবং লোকাল রিপোজিটরিতে মুভ করতে হবে নিচের কমান্ডها দিয়ে।

$ git clone https://github.com/jmcclare/jm-shell.git $ cd jm-shell 

এরপর, Bash-কে jm-shell ব্যবহার করার জন্য কনফিগার করুন ps1, colors.sh, এবং color_unset.sh- থেকে সিমলিংক তৈরি বা কপি করে ~/.local/lib/bash ডিরেক্টরিতে (আপনাকে এই ডিরেক্টরি তৈরি করতে হবে যদি এটি না থাকে) নিচের মত করে।

$ mkdir ~/.local/lib/bash #ডিরেক্টরি তৈরি করুন যদি না থাকে $ cp -v colors.sh colors_unset.sh ps1 -t ~/.local/lib/bash/ 
jm-shell: বিস্তারিত অ্যাক্টিভিটি লগসহ ফিচার-রিচ, কাস্টমাইজেবল বাশ শেলjm-shell: বিস্তারিত অ্যাক্টিভিটি লগসহ ফিচার-রিচ, কাস্টমাইজেবল বাশ শেল

তারপর আপনার ~/.bashrc শেল ইনিশিয়ালাইজেশন ফাইলে নিচের লাইন যোগ করে ps1 ফাইলটি source করুন।

source ~/.local/lib/bash/ps1 

তারপর আপনার ~/.bashrc-এ prompt_style ভেরিয়েবল ব্যবহার করে আপনার প্রম্পট স্টাইল সেট করুন (উপলব্ধ স্টাইলগুলো: standard, tweaked, extensive, minimal বা kirby) নিচের মত করে।

prompt_style=extensive 
jm-shell: বিস্তারিত অ্যাক্টিভিটি লগসহ ফিচার-রিচ, কাস্টমাইজেবল বাশ শেল

~/bashrc ফাইল সংরক্ষণ করুন এবং বন্ধ করুন, তারপর পরিবর্তনগুলো দেখতে এটিকে source করুন।

$ source ~/.bashrc 
jm-shell: বিস্তারিত অ্যাক্টিভিটি লগসহ ফিচার-রিচ, কাস্টমাইজেবল বাশ শেলjm-shell: বিস্তারিত অ্যাক্টিভিটি লগসহ ফিচার-রিচ, কাস্টমাইজেবল বাশ শেল

শেল লগ ফাইলের লোকেশন পরিবর্তন করতে (ডিফল্ট হল ~/.local/share/bash/shell.log), আপনার ~/.bashrc ফাইলে BASHSHELLLOGFILE ভেরিয়েবল ব্যবহার করুন।

BASHSHELLLOGFILE=~/.bash-shell.log 

আরও জানতে jm-shell গিটহাব রিপোজিটরি দেখুন: https://github.com/jmcclare/jm-shell

jm-shell একটি অত্যন্ত ইনফরমেটিভ টুল যা আপনার বাশ শেল কাস্টমাইজ করার জন্য স্ক্রিপ্টের সেট নিয়ে আসে, দৈনন্দিন ব্যবহারের জন্য আত্মবিশ্বাসযোগ্য এবং ইনফরমেটিভ ফিচার বিশিষ্ট। এটি ট্রাই করুন এবং কমেন্ট সেকশনে আপনার ফিডব্যাক দিন।


  1. ব্যাশ For এবং While লুপ মাস্টার করুন: প্র্যাক্টিক্যাল উদাহরণ ও সিনট্যাক্স

  2. দ্রুত লিস্ট তৈরির জন্য কার্যকর বাশ ব্রেস এক্সপ্যানশন (Bash Brace Expansion)

  3. Bash-এ Sourcing vs Forking: মূল পার্থক্য বুঝুন

  4. Bash-এ $$ vs $BASHPID: প্রসেস আইডি ভেরিয়েবল পার্থক্য ব্যাখ্যা