आपको प्रत्येक पंक्ति में पढ़ने की आवश्यकता नहीं है, बस अपनी बैश स्क्रिप्ट में निम्न जैसे एक जाल जोड़ें, इसका प्रभाव आप चाहते हैं, उदाहरण के लिए।
#!/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 >
मैं आउटपुट को और अधिक पठनीय बनाने के लिए जाल कमांड के भीतर सेट + एक्स और सेट-एक्स जोड़ रहा हूं।
स्रोत
2012-01-31 13:52:40
शायद अधिक मोटे तौर पर भी https://stackoverflow.com/questions/951336/how-to-debug-a-bash-script/45096876#45096876 – tripleee