"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं कैसे पता लगा सकता हूं कि गो में कोई कमांड पाइप किया जा रहा है?

मैं कैसे पता लगा सकता हूं कि गो में कोई कमांड पाइप किया जा रहा है?

2024-11-13 को प्रकाशित
ब्राउज़ करें:562

How can I detect if a command is being piped in Go?

गो में पाइप्ड कमांड का पता लगाना

गो में कमांड चलाते समय, ऐसे उदाहरण हो सकते हैं जहां यह निर्धारित करना आवश्यक है कि कमांड पाइप किया जा रहा है या नहीं . पाइप्ड कमांड किसी अन्य कमांड या स्रोत से डेटा को सीधे मानक इनपुट/आउटपुट स्ट्रीम के माध्यम से संसाधित करने के लिए उपयोगी होते हैं।

os.Stdin.Stat()

के साथ पाइप्ड कमांड का पता लगाना यह पता लगाने के लिए कि क्या कोई कमांड पाइप किया गया है, कोई मानक इनपुट स्ट्रीम के मोड की जांच करने के लिए os.Stdin.Stat() विधि का उपयोग कर सकता है। स्टेट() विधि एक os.FileInfo संरचना लौटाती है जिसमें फ़ाइल के बारे में विभिन्न जानकारी होती है, जिसमें उसका मोड भी शामिल है।

उदाहरण:

package main

import (
    "fmt"
    "os"
)

func main() {
    fi, _ := os.Stdin.Stat()
    
    if (fi.Mode() & os.ModeCharDevice) == 0 {
        fmt.Println("data is from pipe")
    } else {
        fmt.Println("data is from terminal")
    }
}

इस उदाहरण में, os.ModeCharDevice स्थिरांक का उपयोग यह जांचने के लिए किया जाता है कि मानक इनपुट का मोड एक कैरेक्टर डिवाइस है या नहीं। यदि ऐसा नहीं है, तो यह अनुमान लगाया जा सकता है कि डेटा एक पाइप से आ रहा है। इसके विपरीत, यदि मोड एक कैरेक्टर डिवाइस है, तो डेटा एक टर्मिनल से आ रहा है।

यह कैसे काम करता है:

जब एक कमांड पाइप किया जाता है, तो मानक इनपुट स्ट्रीम दूसरे कमांड के आउटपुट स्ट्रीम से जुड़ा है। यह मानक इनपुट स्ट्रीम के मोड को कैरेक्टर डिवाइस मोड के बजाय पाइप मोड में बदल देता है। मानक इनपुट स्ट्रीम के मोड की जांच करके, हम यह निर्धारित कर सकते हैं कि कमांड पाइप किया गया है या नहीं।

अनुप्रयोग:

पाइप किए गए कमांड का पता लगाना विभिन्न परिदृश्यों में उपयोगी हो सकता है, जैसे जैसे:

  • किसी कमांड के व्यवहार को इस आधार पर नियंत्रित करना कि यह पाइप किया गया है या नहीं।
  • इनपुट स्रोत के आधार पर विभिन्न त्रुटि संदेश या उपयोग निर्देश प्रदान करना।
  • विभिन्न इनपुट परिदृश्यों के लिए कोड का अनुकूलन।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3