2010-03-23 23 views
13

को दबाने के लिए मैं कैसे जब मैं कमांड प्रॉम्प्ट से मेरी आर स्क्रिप्ट चलाने के आर में उत्पादन को दबाने के लिए करना चाहते हैं।उत्पादन

मैं --slave और --vanilla सहित कई विकल्पों की कोशिश की। वे विकल्प आउटपुट किए गए पाठ की मात्रा को कम करते हैं।

मैं भी पाइप के NUL के उत्पादन की कोशिश की लेकिन वह मदद नहीं की। help(sink) पर

+1

है हो सकता है कि आर मुद्रण यदि '> NUL' नहीं करता 'stderr करने के लिए है टी मदद '2> और 1' को भी जोड़ने का प्रयास करें। – Joey

उत्तर

28

देखो कि क्या करना है। यूनिक्स पर मैं

sink("/dev/null") # now suppresses 
....     # do stuff 
sink()    # to undo prior suppression, back to normal now 

और Windows बराबर करना चाहते हैं (के साथ एक टिप-ऑफ-द-टोपी जोहानिस को)

sink("NUL") 
.... 
sink() 
+3

आमतौर पर विंडोज बराबर 'NUL' है। हालांकि, यह हो सकता है कि 'CreateFile', और c। इसे खोलने में सक्षम नहीं होगा और यह शेल में काफी हद तक विशेष कार्यक्षमता है जो इसकी कार्यप्रणाली को सक्षम बनाता है। – Joey

+0

धन्यवाद - मैंने तदनुसार जवाब संपादित किया (परीक्षण के बाद यह वास्तव में 'एनयूएल' के साथ सही तरीके से काम करता है)। –

+1

हाय @DirkEddelbuettel, मैंने नोट किया कि यह कोशिश() अनुभागों, सिंक (फ़ाइल = "एनयूएल", टाइप = "संदेश") से त्रुटियों को डंप करने के लिए नहीं है, शिकायत करता है कि "एनयूएल" फाइल कनेक्शन नहीं है, उन मामलों में एक यह अपेक्षा के अनुरूप काम करने के लिए कोशिश (स्टॉप ("त्रुटि संदेश"), मूक = TRUE) उपयोग करने के लिए की जरूरत है। अगर किसी और ने इस जवाब पर ठोकर खाई तो बस इसे अपने उत्तर में जोड़ना चाहता था। –

संबंधित मुद्दे