मैं एक शेल स्क्रिप्ट लिख रहा हूं जो कुछ मानों पर लूप करता है और प्रत्येक मान के लिए एक लंबी कमांड लाइन चलाता है। मैं इन आदेशों को रास्ते में प्रिंट करना चाहता हूं, जैसे make
मेकफ़ाइल चलाते समय करता है। मुझे पता है कि मैं उन्हें चलाने से पहले सभी आदेशों को "गूंज" सकता हूं, लेकिन यह सुरुचिपूर्ण लगता है। इसलिए मैं बजाय set -x
और इसी तरह के तंत्र में देख रहा हूँ:शैल स्क्रिप्ट में चुपचाप xt्रेस को कैसे निष्क्रिय करें?
#!/bin/sh
for value in a long list of values
do
set -v
touch $value # imagine a complicated invocation here
set +v
done
मेरे समस्या है: प्रत्येक यात्रा पर, न केवल interresting मुद्रित लाइन है, लेकिन यह भी set +x
पंक्ति के रूप में अच्छी तरह से। क्या इसे रोकने के लिए किसी भी तरह से संभव है? यदि नहीं, तो आप किस कामकाज की सिफारिश करते हैं?
पीएस: उपरोक्त MWE sh
का उपयोग करता है, लेकिन मेरे पास bash
और zsh
भी मदद करता है, जो मदद करता है।
की संभावित डुप्लिकेट [बैश सेट + x के बिना यह मुद्रित किया जा रहा] (http://stackoverflow.com/questions/13195655/bash-set-x-without-it-being-printed) – Beetle