आपको प्रत्येक पंक्ति में एक रीड डालने की आवश्यकता नहीं है, बस अपने बैश स्क्रिप्ट में निम्नलिखित की तरह एक जाल जोड़ें, इसमें वह प्रभाव है जो आप चाहते हैं, जैसे।
#!/usr/bin/env bash
set -x
trap read debug
< YOUR CODE HERE >
वर्क्स, बस इसे बैश v4.2.8 और v3.2.25 के साथ परीक्षण किया।
संशोधित संस्करण
यदि आपकी स्क्रिप्ट फ़ाइलों से सामग्री पढ़ रही है, तो ऊपर सूचीबद्ध काम नहीं करेगा। एक वर्कअराउंड निम्न उदाहरण की तरह लग सकता है।
#!/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 >
स्क्रिप्ट को रोकने के लिए आपको इस मामले में दूसरे शेल से इसे मारना होगा ।
ALTERNATIVE1
यदि आप अपनी स्क्रिप्ट में अगले कमांड पर आगे बढ़ने से पहले बस कुछ सेकंड इंतजार करना चाहते हैं तो निम्न उदाहरण आपके लिए काम कर सकता है।
#!/usr/bin/env bash
trap "set +x; sleep 5; set -x" DEBUG
< YOUR CODE HERE >
मैं सेट + x और सेट -x को ट्रैप कमांड में शामिल कर रहा हूं ताकि आउटपुट को अधिक पठनीय बनाया जा सके।