আপনার প্রতিটি লাইনে একটি পঠন লাগবে না, কেবল আপনার বাশ স্ক্রিপ্টে নীচের মতো একটি ফাঁদ যুক্ত করুন, এটি আপনার পছন্দসই প্রভাব ফেলেছে, যেমন।
#!/usr/bin/env bash
set -x
trap read debug
< YOUR CODE HERE >
কাজ করে, এটি কেবল bash v4.2.8 এবং v3.2.25 দিয়ে পরীক্ষা করেছে।
উন্নত সংস্করণ
যদি আপনার স্ক্রিপ্ট ফাইলগুলি থেকে সামগ্রী পড়ছে তবে উপরের তালিকাভুক্ত কাজ করবে না। একটি workaround নিম্নলিখিত উদাহরণ মত দেখতে পারে।
#!/usr/bin/env bash
echo "Press CTRL+C to proceed."
trap "pkill -f 'sleep 1h'" INT
trap "set +x ; sleep 1h ; set -x" DEBUG
< YOUR CODE HERE >
স্ক্রিপ্টটি থামাতে আপনাকে এ ক্ষেত্রে অন্য শেল থেকে এটি হত্যা করতে হবে ।
বিকল্প 1
আপনার স্ক্রিপ্টের পরবর্তী কমান্ডে যাওয়ার আগে আপনি যদি কেবল কয়েক সেকেন্ড অপেক্ষা করতে চান তবে নীচের উদাহরণটি আপনার জন্য কাজ করতে পারে।
#!/usr/bin/env bash
trap "set +x; sleep 5; set -x" DEBUG
< YOUR CODE HERE >
আউটপুট আরও পঠনযোগ্য করার জন্য ট্র্যাপ কমান্ডের মধ্যে আমি সেট + x এবং সেট -x যুক্ত করছি।