आपका अजगर ऐप सामान्य STDOUT के बजाय STDERR आउटपुट चैनल पर आउटपुट होना चाहिए। शेल निर्माण का उपयोग >
केवल आउटपुट चैनल पर लिखे गए डेटा को कैच और रीडायरेक्ट करता है, लेकिन वास्तव में कई अन्य चैनल हैं जिन्हें मुद्रित किया जा सकता है, सबसे आम दूसरा है, जो आमतौर पर त्रुटियों के लिए उपयोग किया जाता है।
आप STDERR (दूसरा चैनल) को इस तरह फँसाने की कोशिश कर सकते हैं:
python ./manage.py dumpdata partyapp.InvitationTemplate > partyapp_dump.json 2>&1
2>&1
निर्माण सामान्य उत्पादन चैनल में त्रुटियों के लिए उत्पादन धारा से जोड़ता है। यह प्रोग्राम के लिए आउटपुट उत्पन्न करने के लिए असामान्य है कि आप त्रुटि चैनल पर कब्जा करना चाहते हैं; आमतौर पर यह डीबग जानकारी के लिए आरक्षित होगा न कि आवेदन डेटा। कृपया इस स्क्रिप्ट का उपयोग थोड़ी सावधानी के साथ करें क्योंकि यह गैर-मानक तरीके से व्यवहार कर रही है।
आप आउटपुट और एरर चैनल को इस तरह अलग-अलग फाइलों में डंप कर सकते हैं:
python ./manage.py dumpdata partyapp.InvitationTemplate > partyapp_dump.json 2> error_output.txt
&>
केवल Bash 4.0 में काम करेगा और zsh के हाल के संस्करणों को iirc लेगा। एक अधिक पोर्टेबल समाधान के लिए,foo > bar 2&>1
। संदर्भ: mywiki.wooledge.org/BashFAQ/014