বাশে লাইন নম্বরটি কীভাবে খুঁজে পাবেন যেখানে একটি ত্রুটি ঘটেছে?
উদাহরণ
আমাদের কী প্রয়োজন তা বোঝাতে আমি লাইন নম্বরগুলি সহ নিম্নলিখিত সাধারণ স্ক্রিপ্টটি তৈরি করি। স্ক্রিপ্ট থেকে ফাইলগুলি অনুলিপি করবে
cp $file1 $file2
cp $file3 $file4
যখন এক cp
কমান্ড তারপর ব্যর্থ ফাংশন বন্ধ হয়ে যাবে প্রস্থান 1 । লাইন নম্বর (উদাহরণস্বরূপ, 8 বা 12) দিয়ে ত্রুটিটি মুদ্রণের জন্য আমরা ফাংশনে দক্ষতা যুক্ত করতে চাই।
এটা কি সম্ভব?
নমুনা লিপি
1 #!/bin/bash
2
3
4 function in_case_fail {
5 [[ $1 -ne 0 ]] && echo "fail on $2" && exit 1
6 }
7
8 cp $file1 $file2
9 in_case_fail $? "cp $file1 $file2"
10
11
12 cp $file3 $file4
13 in_case_fail $? "cp $file3 $file4"
14
set -x
এবং / অথবা set -v
কার্যকর করা হয়েছে তা ট্রেস করতে। আপনি যা চেয়েছিলেন ঠিক তা নয় তবে এটি সম্ভবত সহায়কও হবে।