के साथ खोल स्क्रिप्ट में सिंटेक्स त्रुटि मेरे पास यह शेल स्क्रिप्ट है जिसका उपयोग मैं अपने सिस्टम का बैक अप लेने के लिए करता हूं।प्रक्रिया प्रतिस्थापन
tar -Pzcpf /backups/backup.tar.gz --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=backups --exclude=var/log/2> >(grep -v 'socket ignored' >&2)
आप देख सकते हैं, मैं बाहर फिल्टर करने के लिए कष्टप्रद, बेकार "सॉकेट पर ध्यान नहीं दिया" टार द्वारा त्रुटि, this blog post का उपयोग कर प्रयास कर रहे हैं: वहाँ एक पंक्ति है।
क्या मैं निष्पादन पर खोल से मिलता है:
/bin/sysback: लाइन 45: अप्रत्याशित टोकन
>' /bin/sysback: line 45:
टार -Pzcpf/बैकअप/बैकअप --directory =/ --exclude = पास सिंटैक्स त्रुटि proc --exclude = sys --exclude = देव/--exclude अंक = बैकअप --exclude = var/log/2>> (ग्रेप -v 'सॉकेट पर ध्यान नहीं दिया'> & 2) '
मुझे लगता है कि '2>> (' होना चाहिए '2> ('। –
इस परिवर्तन के बाद एक सिंटैक्स त्रुटि देना नहीं था, लेकिन या तो उत्पादन को फ़िल्टर नहीं किया। –
> (...) प्रक्रिया प्रतिस्थापन वाक्यविन्यास एक गैर-मानक सुविधा है, और आपका खोल स्पष्ट रूप से इसका समर्थन नहीं करता है। एक अलग खोल का उपयोग करें, या शायद बैश का एक नया संस्करण। –