এটি করার এক হাজার এবং একটি উপায় রয়েছে। এখানে একটি ব্যবহার করছে dc
(একটি বিপরীত-পোলিশ ডেস্ক ক্যালকুলেটর যা সীমাহীন নির্ভুল গণিত সমর্থন করে):
dc <<<"$num1 $num2 + p"
তবে যদি এটি আপনার পক্ষে খুব বেশি বাশ-ওয়াই হয় (বা বহনযোগ্যতার বিষয়গুলি) আপনি বলতে পারেন
echo $num1 $num2 + p | dc
তবে সম্ভবত আপনি সেই সমস্ত লোকদের মধ্যে যারা आरপিএনকে অদ্ভুত এবং অদ্ভুত বলে মনে করেন; চিন্তা করবেন না! bc
আপনার জন্য এখানে:
bc <<< "$num1 + $num2"
echo $num1 + $num2 | bc
এটি বলেছিল, আপনার স্ক্রিপ্টে কিছু অপ্রাসঙ্গিক উন্নতি করা যেতে পারে:
#!/bin/bash
num=0
metab=0
for ((i=1; i<=2; i++)); do
for j in output-$i-* ; do # 'for' can glob directly, no need to ls
echo "$j"
# 'grep' can read files, no need to use 'cat'
metab=$(grep EndBuffer "$j" | awk '{sum+=$2} END { print sum/120}')
num=$(( $num + $metab ))
done
echo "$num"
done
বাশ এফএকিউ 022 তে বর্ণিত হিসাবে , বাশ স্থানীয়ভাবে ভাসমান পয়েন্ট সংখ্যা সমর্থন করে না। আপনার যদি ভাসমান পয়েন্ট সংখ্যাগুলি যোগ করতে হয় তবে একটি বাহ্যিক সরঞ্জাম (যেমন bc
বা dc
) এর ব্যবহার প্রয়োজন।
এই ক্ষেত্রে সমাধান হবে
num=$(dc <<<"$num $metab + p")
সম্ভাব্য-ভাসমান-পয়েন্ট সংখ্যাগুলিকে এতে যোগ করতে num
।