বাংলায় শেল ও শেলস্ক্রিপ্টিং শেখার কোর্স
  • শুরুর কথা
  • প্রথম খন্ড - শেল বেসিক
    • প্রথম অধ্যায় - শেল বেসিক
      • শেল ও প্রম্পট
      • কমান্ড
      • নেভিগেশন
      • আরো একটু ls
      • ফাইল
      • লিঙ্ক
      • লিনাক্স ফাইলসিস্টেম
    • দ্বিতীয় অধ্যায় - ম্যানিপুলেশন
      • ওয়াইল্ডকার্ড
      • ফাইল ও ডিরেক্টরি তৈরি করা
      • ফাইল ও ডিরেক্টরি কপি করা
      • ফাইল ও ডিরেক্টরি মুভ করা
      • ফাইল ও ডিরেক্টরি রিমুভ করা:
      • হার্ডলিঙ্ক ও সফ্টলিঙ্ক তৈরি করা
      • অনুশীলন
    • তৃতীয় অধ্যায় - রিডিরেকশন
      • স্ট্যান্ডার্ড ইনপুট, আউটপুট এবং এরর
      • স্ট্যান্ডার্ড আউটপুট রিডিরেকশন
      • স্ট্যান্ডার্ড এরর রিডিরেকশন
      • স্ট্যান্ডার্ড আউটপুট ও এরর একত্রে রিডিরেকশন
      • ফাইল সংযুক্তিকরণ
      • পাইপলাইন
    • চতুর্থ অধ্যায় - শেলের চোখে দেখা
      • এক্সপ্যানসন
      • পাথনেম এক্সপ্যানসন
      • গানিতিক এক্সপ্যানসন
      • ব্রেস এক্সপ্যানসন
      • প্যারামিটার এক্সপ্যানসন
      • কমান্ড সাবস্টিটিউশন
      • ক্যোটিং
      • স্কেইপিং ক্যারেক্টার
    • পঞ্চম অধ্যায় - কীবোর্ড ট্রিক্স
      • কমান্ডলাইন এডিটিং
      • কমপ্লিশন
      • কমান্ড হিস্ট্রি
    • ষষ্ঠ অধ্যায় - পারমিশন
      • ওনার, গ্রুপ এবং অন্যান্য
      • এক্সেস রাইট
      • ফাইল পারমিশন পরিবর্তন
      • ফাইল পারমিশন মাস্কিং
      • বিশেষ পারমিশন
      • ওনার ইউজার ও গ্রুপ পরিবর্তন
      • পরিচয় পরিবর্তন
      • পাসওয়ার্ড পরিবর্তন
    • সপ্তম অধ্যায় - প্রসেস
      • প্রসেস এর প্রাথমিক ধারণা
      • প্রসেস দেখা
      • প্রসেস নিয়ন্ত্রণ
      • সিগন্যাল
  • দ্বিতীয় খন্ড - কনফিগারেশন ও এনভায়রনমেন্ট
    • প্রথম অধ্যায় - এনভায়রনমেন্ট
      • এনভায়রনমেন্টের ভিতরে দেখা
      • যেভাবে এনভায়রনমেন্ট তৈরী হয়
      • এনভায়রনমেন্ট পরিবর্তন
    • দ্বিতীয় অধ্যায় - প্রম্পট সম্পাদনা
      • প্রম্পট কাস্টমাইজেশন
      • প্রম্পট রঙ করা
      • কার্সরের অবস্থান পরিবর্তন
  • তৃতীয় খন্ড - আটপৌরে কমান্ডলাইন
    • প্রথম অধ্যায় - প্যাকেজ ম্যানেজমেন্ট
    • দ্বিতীয় অধ্যায় - টেক্সট এডিটর
      • ন্যানো
        • ন্যানোর প্রাথমিক ব্যবহার
        • ন্যানো - এডিটিং এবং নেভিগেশন
        • ন্যানো কনফিগারেশন
      • ভিম
        • ভিম-এর এডিটিং মোড
        • ভিম-এর বেসিক এডিটিং
        • ভিম: সার্চ এ্যান্ড রিপ্লেস
        • ভিম: একাধিক ফাইল নিয়ে কাজ করা
      • ইম্যাকস্
        • ইম্যাকস্: প্রথম ধাপ
        • ইম্যাকস্: ক্যারেক্টার, কী এবং কমান্ড
        • ইম্যাকস্: বেসিক এডিটিং
        • ইম্যাকস্: সার্চ এ্যান্ড রিপ্লেস
        • ইম্যাকস্: একাধিক ফাইল এডিট করা
    • তৃতীয় অধ্যায় - স্টোরেজ মিডিয়া
      • লিনাক্সের চোখে স্টোরেজ ডিভাইস
      • মাউন্ট এবং আনমাউন্ট
      • পার্টিশন এবং ফরম্যাট করা
      • ফাইলসিস্টেম টেস্ট এবং রিপেয়ার করা
      • ডিভাইস ক্লোনিং
      • ইমেজ তৈরী
      • অপটিক্যাল মিডিয়ায় রাইট করা
    • চতুর্থ অধ্যায় - নেটওয়ার্কিং
      • নেটওয়ার্ক পরীক্ষণ এবং পর্যবেক্ষন
      • ফাইল ট্রান্সফার
      • নিরাপদ যোগাযোগ
    • পঞ্চম অধ্যায় - ফাইল সার্চ
      • Locate: নাম দিয়ে ফাইল সার্চ
      • find: শক্তিশালী সার্চ
        • find: টেস্ট
        • find: অপারেটর
        • find: একশন
        • find: অপশন
        • অনুশীলন
    • ষষ্ঠ অধ্যায় - আর্কাইভ ও ব্যাকআপ
      • ডাটা কম্প্রেশন
      • ডাটা আর্কাইভিং
      • dtrx
      • সিনক্রোনাইজেশন
    • সপ্তম অধ্যায় - আটপৌরে টুলস
      • রেঞ্জার(Ranger): ফাইল ম্যানেজার
      • মাট (Mutt): ইমেইল ক্লায়েন্ট
      • সিমিউজ(cmus): মিউজিক প্লেয়ার
      • ইলিঙ্কস (elinks): ওয়েব ব্রাউজার
      • উইচ্যাট (weechat) : আইআরসি ক্লায়েন্ট
      • ফিঞ্চ (finch) : চ্যাট ক্লায়েন্ট
    • অষ্টম অধ্যায় - প্রোগ্রাম কম্পাইলেশন
  • চতুর্থ খন্ড - টেক্সট ম্যানিপুলেশন
    • প্রথম অধ্যায় - রেগুলার এক্সপ্রেশন
      • গ্রেপ (grep)
Powered by GitBook
On this page
  1. প্রথম খন্ড - শেল বেসিক
  2. চতুর্থ অধ্যায় - শেলের চোখে দেখা

গানিতিক এক্সপ্যানসন

এপর্যায়ে আমরা শেলের গানিতিক এক্সপ্যানসন(Arithmatic expansion) এর ব্যাপারে জানবো। ওয়াইল্ডকার্ড ব্যবহার করলে শেল যেমন আগে তাকে পাথনেম হিসেবে এক্সপ্যান্ড করে তেমনি বিশেষ উপায়ে যদি গানিতিক এক্সপ্রেশন লেখা হয় তাহলে শেল সেটার উত্তর হিসেব করে দিতে পারে। বিশেষ উপায় বলতে এমনভাবে লেখা যেন শেল বুঝতে পারে আমরা চাইছি সে হিসেব করুক। এই এক্সপ্রেশন এর কাঠামো হবে $((expression))। অর্থাৎ এক্সপ্রেশনের জায়গায় আমাদের দেয়া অংকটি আর তাকে ঘিরে দিতে হবে দুই দফা ব্রাকেট দিয়ে আর সামনে থাকবে একটি ডলার($) চিহ্ন। একটা উদাহরণ দেখা যাক:

me@howtocode-pc:~$ echo $((2 + 2))
4

আমাদের মূল অংক ছিল দুই আর দুই এর যোগফল বের করা। সুতরাং এক্সপ্রেশনটি হল: 2 + 2। আমরা শেলকে অংকটি করার নির্দেশ দিয়েছি এটাকে বিশেষ কাঠামোতে লিখে। অর্থাৎ $((2 + 2)) লিখে। ফলে শেল অংকটি করে উত্তর বের করেছে 4 এবং এটাককেই echo কমান্ডের আর্গুমেন্ট হিসেবে পাঠিয়েছে। ফলে echo উত্তরটা প্রিন্ট করেছে।

একটা বিষয় মাথায় রাখতে হবে। শেলের গানিতিক এক্সপ্যানসন খুবই সীমাবদ্ধ। এটা সবসময় পূর্ণসংখ্যা নিয়ে কাজ করবে। কখনোই দশমিক ভগ্নাংশ নিয়ে এটি কাজ করতে পারে না।

এবার দেখা যাক কোন গাণিতিক চিহ্নগুলো আমরা ব্যবহার করতে পারবো:

চিহ্ন

অর্থ

+

যোগ

-

বিয়োগ

*

গুন

/

ভাগ(লক্ষ্যণীয়, ভাগফল শুধু পূর্ণসংখ্যায় দেখানো হবে)

%

ভাগশেষ (ইংরেজিতে Remainder, পোশাকি নাম মড্যুলো(Modulo))

**

ঘাত(চলতিভাষায় আমরা পাওয়ার বলি। এক্সপোনেনশিয়েশন(Exponentiation) ও বলতে পারেন।)

একাধিক সরল এক্সপ্রেশন দিয়ে আপনি যৌগিক বা নেস্টেড এক্সপ্রেশন তৈরি করতে পারেন। ৫ এর দ্বিতীয় ঘাত( 5 square) কে ৩ দিয়ে গুন করতে হলে আমরা লিখবো:

me@howtocode-pc:~$ echo  $(($((5**2)) * 3))
75

এবার ভাগের ব্যাপারে দেখি। ভাগসংক্রান্ত গানিতিক চিহ্ন বা অপারেটরদ্বয় হলো '/' ও '%'। আমরা ৫কে ২দিয়ে ভাগ করবো দুটো দিয়েই:

me@howtocode-pc:~$ echo $((5/2))
2
me@howtocode-pc:~$ echo $((5%2))
1

প্রথমে আমরা '/' দিয়ে ভাগ করেছি। আসলে উত্তর হওয়া উচিৎ 2.5 কিন্তু পূর্ণসংখ্যাই শুধু বিবেচ্য বলে 2 দেখিয়েছে। আর পরেরটা দেখিয়েছে ভাগশেষ।

Previousপাথনেম এক্সপ্যানসনNextব্রেস এক্সপ্যানসন

Last updated 6 years ago