এক্সপ্রেস এবং ক্যালક কমান্ড: টার্মিনালে গাণিতিক এক্সপ্রেশনগুলি সমাধান করুন

আমি যারা স্ক্রিপ্ট সবসময় প্রোগ্রামিং করছি তাদের মধ্যে আমি একজন সজোরে আঘাত প্রতিদিনের পরিস্থিতি সমাধান করতে (এপি / রাউটার পাসওয়ার্ড, স্বয়ংক্রিয় প্রক্রিয়াগুলি ইত্যাদি ক্র্যাক করুন).

নির্দিষ্ট সময়ে আমি একটি গাণিতিক অভিব্যক্তির মান একটি পরিবর্তনশীলকে নির্ধারিত করার জন্য বা গাণিতিক প্রকাশের সাথে সহজভাবে কাজ করার প্রয়োজনীয়তাটি দেখেছি, সেখানে আমি নিজেকে সেই সমস্যাটির সাথে দেখতে পাই যে ব্যাশ এবং গাণিতিক এক্সপ্রেশনগুলি, গণনাগুলি খুব বন্ধুত্বপূর্ণ নয়। এটি ঘটে যায় যে বাশ পাইথনের মতো নয়, আমরা কী বলতে পারি পরিবর্তনশীল = 1 + 5/6 (উদাহরণস্বরূপ), বাশ-এ আমাদের অবশ্যই কমান্ডটি ব্যবহার করতে হবে এক্সপ্রেস o Calc

কমান্ড এক্সপ্রেস

অন্য কথায়, এক্সপ্রেস কমান্ড আমাদের টার্মিনালে গাণিতিক এক্সপ্রেশনগুলি সমাধান করতে সহায়তা করে, এটির সাহায্যে আমরা কী প্রয়োজন তা গণনা করতে পারি। উদাহরণস্বরূপ, আমরা যদি 1 + 2 * 8/3 এর ফলাফলটি দেখতে চাই তবে আমরা টার্মিনালটিতে রেখেছি:

expr 1 + 2 \* 8 / 3

নোট করুন নক্ষত্রের আগে * আমি ব্যাকস্ল্যাশ লাগিয়েছিলাম - »\ ... এটি প্রয়োজনীয়, কারণ এক্সট্রেটি তারকাচিহ্নটি হিসাবে গুণ চিহ্ন হিসাবে ব্যাখ্যা করে না unless

এবং ফলাফল পর্দায় প্রদর্শিত হবে। এখানে কয়েকটি উদাহরণ সহ একটি স্ক্রিনশট রয়েছে:

স্ক্রিনশট_এক্সপ্রি 1

যেমন আপনি চূড়ান্ত গণনায় (14/4 এবং 13/4) দেখতে পাচ্ছেন, 14 দ্বারা বিভক্ত 4 আসলে 3.5 এবং 13 বিভক্ত 4 আসলে 3.25. সুতরাং এটি কীভাবে সম্ভব যে এটি উভয় ক্ষেত্রেই আমাদের 3 দেখায়? যা ঘটে তা হ'ল expr কমান্ড আমাদের দশমিক দেখায় না, যা কমা পরে অনুসরণ করে, এটি এটি প্রদর্শন করে না, এটি কেবল আমাদের পূর্ণসংখ্যা দেখায়।

যদি আমরা কোনও গাণিতিক অভিব্যক্তির ফলাফলের পরিবর্তনশীলকে নির্ধারণ করতে চাই (উদাহরণ: 10/2), এটি এরকম হবে:

variable=`expr 10 / 2`

তারপরে আমরা এটি দিয়ে যাচাই করি:

echo $variable

এটি গুরুত্বপূর্ণ যে প্রতিটি অক্ষরের মধ্যে একটি স্থান রয়েছে, অর্থাত্ প্রতিটি সংখ্যার মধ্যে একটি স্থান, প্রতিটি সংযোজন, বিয়োগ, গুণ বা বিভাগের প্রতীক

ক্যালક কমান্ড

এটি পূর্ববর্তীটির মতো নয়, দশমিকের ক্ষেত্রে সঠিক, উদাহরণস্বরূপ:

calc 15 / 4

এটি আমাদের দেখায়: 3.75

এখানে বেশ কয়েকটি উদাহরণ সহ একটি স্ক্রিনশট রয়েছে:

স্ক্রিনশট_ক্যাল্যাক

এক্সপ্রেসের বিপরীতে, যখন আমরা গণনা ব্যবহার করি তবে এটি ভাল যে প্রতিটি অক্ষরের মধ্যে কোনও স্থান নেই, এটি হ'ল সংখ্যা এবং চিহ্নগুলির মধ্যে কোনও ফাঁকা স্থান নেই, ঠিক যেমন আপনি পূর্ববর্তী চিত্রটিতে দেখেন। বা তাদের * এর আগে একটি prep শোধ করতে হবে না

ঠিক আছে, এটি মূলত আমি আপনাকে বলতে চাইছিলাম।

তবে, প্রতিটি কমান্ডের জন্য আরও কিছু আকর্ষণীয় টিপস রয়েছে (বিশেষত ক্যালক), আমি আপনাকে ম্যানুয়ালটি পড়ার পরামর্শ দিচ্ছি:

man calc

man expr

শুভেচ্ছা


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।

  1.   এলাভ তিনি বলেন

    খুব দরকারী, যদিও গণিতের গণনা, দশমিক সংখ্যা গণনার জন্য বাশকে ব্যবহার করা অবশ্যই ভাল হবে না :)

    1.    Wada আপনি তিনি বলেন

      মিঃ ইলাভ আমাদের কাছে এখনও বাশ ক্যালকুলেটর রয়েছে standard আমরা স্ট্যান্ডার্ড গণিত লাইব্রেরিটি ব্যবহার করতে -l আর্গুমেন্টটি ব্যবহার করতে পারি
      এরকম কিছু

      $ echo "(4/8)+(6/9)" | bc -l
      1.166666666666666666666666

      ha

      1.    এলাভ তিনি বলেন

        😀

      2.    এলিওটাইম 3000 তিনি বলেন

        দুর্দান্ত। এইভাবে, খাঁটি এক্স 11 ব্যবহার করার সময় আমি এক্সক্যালক ইনস্টল করার ঝামেলা এড়াতে চাই।

      3.    কেজেডিজি ^ গারা তিনি বলেন

        ওহ, আমি এটিকে জানতাম না, দুর্দান্ত !!

  2.   clow_eriol তিনি বলেন

    ধন্যবাদ, এটি বেশ কার্যকর 😉

    1.    কেজেডিজি ^ গারা তিনি বলেন

      ধন্যবাদ ^ _ ^

  3.   নোকটিইডো তিনি বলেন

    ধন্যবাদ. সিস্টেম ক্যালকুলেটর বেসিক ক্রিয়াকলাপের জন্য একটি প্রতিযোগী হয়েছে।

    1.    কেজেডিজি ^ গারা তিনি বলেন

      আমাদের পড়ার জন্য আপনাকে ধন্যবাদ 🙂

  4.   জোয়াকুইন তিনি বলেন

    ভালো পরামর্শ!

  5.   পেদ্রো লালা তিনি বলেন

    আমি আমার পছন্দ করি না