মূলত, ডিবাগিং মানে ছিল শারীরিক বাগগুলি অপসারণ করা যা প্রারম্ভিক কম্পিউটারগুলিতে বিঘ্ন ঘটাত। বর্তমানে, এটি কোড বাগগুলি স্কোয়াশ করার বিষয়ে। ডিবাগ আউটপুটগুলি হলো প্রোগ্রামারের আবর্ধককাচ। ব্যাশ স্ক্রিপ্টে echo এর পরিবর্তে printf রয়েছে আরও ফর্ম্যাটিং অপশনের জন্য অথবা স্থায়ী লগের জন্য পুনঃনির্দেশন > এর মাধ্যমে ফাইলে লেখা। ব্যাশ পূর্ণ-স্ক্রিপ্ট ডিবাগিংয়ের জন্য নির্মিত কমান্ডগুলি এবং তাদের আর্গুমেন্টগুলি যেমন নির্বাহিত হয় তা ট্রেস করার জন্য set -x সমর্থন করে। set -x পূর্ণ-স্ক্রিপ্ট ডিবাগিংয়ের জন্য দারুণ।.
echo
printf
>
set -x
Bash-এ, আপনার টার্মিনাল মূলত একটি REPL হয়। আপনি একটি কমান্ড টাইপ করেন; এটি তা পড়ে, মূল্যায়ন করে, ফলাফল প্রিন্ট করে, এবং আপনার পরবর্তী কমান্ডের জন্য অপেক্ষা করে লুপে ফিরে যায়। এখানে বাশ কে REPL হিসেবে ব্যবহার করার একটি উদাহরণ.
ব্যাশে অন্যান্য ভাষার মতো একটি অন্তর্নির্মিত ডিবাগার নেই, কিন্তু আপনি set -x এর মতো অন্তর্নির্মিত কমান্ড ব্যবহার করে দেখতে পারেন কী হচ্ছে। অথবা, একটি উন্নত সমাধানের জন্য, bashdb রয়েছে, এটি আপনার কোডের মাধ্যমে ধাপে ধাপে যেতে সাহায্য করে। এখানে একটি ঝলক.
bashdb
ব্যাশের মধ্যে কোনো বিল্ট-ইন টেস্টিং ফ্রেমওয়ার্ক নেই, কিন্তু আপনি সাধারণ টেস্ট ফাংশন লিখতে পারেন। আরও জটিল টেস্টিংয়ের জন্য, তৃতীয় পক্ষের টুলস যেমন bats-core জনপ্রিয় হয়ে উঠেছে।.
bats-core