गीक स्कूल लर्निंग पॉवरशेल वेरिएबल्स, इनपुट एंड आउटपुट
जैसा कि हम केवल कमांड चलाने से दूर जाते हैं और पूर्ण विकसित स्क्रिप्ट लिखने में आगे बढ़ते हैं, आपको डेटा संग्रहीत करने के लिए एक अस्थायी स्थान की आवश्यकता होगी। यह वह जगह है जहाँ चर अंदर आते हैं.
श्रृंखला के पिछले लेखों को अवश्य पढ़ें:
- PowerShell के साथ विंडोज को स्वचालित करने का तरीका जानें
- PowerShell में Cmdlets का उपयोग करना सीखना
- सीखना कैसे PowerShell में वस्तुओं का उपयोग करने के लिए
- PowerShell में लर्निंग फॉर्मेटिंग, फ़िल्टरिंग और तुलना
- PowerShell में रीमोटिंग का उपयोग करना सीखें
- कंप्यूटर की जानकारी प्राप्त करने के लिए PowerShell का उपयोग करना
- पॉवरशेल में संग्रह के साथ काम करना
और पूरे सप्ताह बाकी श्रृंखला के लिए बने रहें.
चर
अधिकांश प्रोग्रामिंग भाषाएं चर का उपयोग करने की अनुमति देती हैं, जो केवल कंटेनर होते हैं जो मान रखते हैं। PowerShell में, हमारे पास भी चर हैं और उनका उपयोग करना वास्तव में आसान है। यहां बताया गया है कि "FirstName" नामक एक वैरिएबल कैसे बनाया जाए और इसे "टेलर" मान दिया जाए।.
$ FirstName = "टेलर"
पहली बात यह है कि ज्यादातर लोग पूछते हैं कि हम चर नाम के सामने एक डॉलर का चिह्न क्यों लगाते हैं, और यह वास्तव में एक बहुत अच्छा सवाल है। वास्तव में, डॉलर का चिह्न शेल के लिए थोड़ा संकेत है कि हम चर की सामग्री का उपयोग करना चाहते हैं (सोचें कि कंटेनर के अंदर क्या है) और कंटेनर खुद नहीं। PowerShell में, चर नामों में डॉलर चिह्न शामिल नहीं है, जिसका अर्थ है कि उपरोक्त उदाहरण में चर नाम वास्तव में "FirstName" है.
PowerShell में, आप उन सभी चर को देख सकते हैं, जिन्हें आपने चर में बनाया है.
जीसीआई चर:
जिसका अर्थ है कि आप किसी भी समय शेल से एक चर को हटा सकते हैं:
निकालें-आइटम चर: \ FirstName
चर के लिए एक भी वस्तु शामिल नहीं है; आप आसानी से एक चर में कई वस्तुओं को आसानी से संग्रहीत कर सकते हैं। उदाहरण के लिए, यदि आप किसी चर में चलने वाली प्रक्रियाओं की सूची संग्रहित करना चाहते हैं, तो आप इसे गेट-प्रोसेस का आउटपुट असाइन कर सकते हैं.
$ प्रोक = गेट-प्रोसेस
इसे समझने की चाल यह याद रखना है कि बराबर चिह्न के दाहिने हाथ की ओर हमेशा पहले मूल्यांकन किया जाता है। इसका मतलब है कि यदि आप चाहें तो दाहिने हाथ की तरफ एक पूरी पाइपलाइन हो सकती है.
$ CPUHogs = गेट-प्रोसेस | क्रमबद्ध करें CPU -Descending | चयन करें -पहले 3
CPUHogs वैरिएबल में अब सबसे अधिक CPU का उपयोग करके तीन रनिंग प्रोसेस होंगे.
जब आपके पास वस्तुओं का संग्रह रखने वाला चर होता है, तो कुछ बातों का ध्यान रखना चाहिए। उदाहरण के लिए, चर पर एक विधि को कॉल करने से यह संग्रह में प्रत्येक ऑब्जेक्ट पर कॉल करने का कारण होगा.
$ CPUHogs.Kill ()
जो संग्रह में सभी तीन प्रक्रिया को मार देगा। यदि आप वैरिएबल में किसी एक ऑब्जेक्ट को एक्सेस करना चाहते हैं, तो आपको इसे एक अरै की तरह ट्रीट करना होगा.
$ CPUHogs [0]
ऐसा करने से आपको संग्रह में पहली वस्तु मिलेगी.
पकड़े नहीं जाते!
PowerShell में चर को कमजोर रूप से डिफ़ॉल्ट रूप से टाइप किया जाता है जिसमें वे किसी भी प्रकार का डेटा शामिल कर सकते हैं, ऐसा लगता है कि PowerShell में हर समय नए कॉमर्स पकड़े जाते हैं!
$ a = १०
$ b = '20'
इसलिए हमारे पास दो चर हैं, एक में स्ट्रिंग और दूसरे में एक पूर्णांक है। यदि आप उन्हें जोड़ते हैं तो क्या होता है? यह वास्तव में निर्भर करता है कि आप उन्हें किस क्रम में जोड़ते हैं.
$ a + $ b = 30
जबकि
$ b + $ a = 2010
पहले उदाहरण में, पहला ऑपरेंड एक पूर्णांक है, $ a, इसलिए PowerShell को लगता है कि आप गणित करने की कोशिश कर रहे हैं और इसलिए किसी भी अन्य ऑपरेंड को पूर्णांक में बदलने की कोशिश करता है। हालांकि, दूसरे उदाहरण में पहला ऑपरेंड एक स्ट्रिंग है, इसलिए पावरशेल बाकी ऑपरेंड को केवल स्ट्रिंग्स में परिवर्तित करता है और उन्हें समेटता है। अधिक उन्नत स्क्रिप्टर्स इस प्रकार के गोच को वैरिएबल को उस प्रकार से रोकते हैं जिस प्रकार वे अपेक्षा कर रहे हैं.
[int] $ संख्या = ५
[int] $ संख्या = '5'
5 के मान के साथ पूर्णांक ऑब्जेक्ट वाले संख्या चर में उपरोक्त दोनों परिणाम होंगे.
इनपुट और आउटपुट
क्योंकि PowerShell चीजों को स्वचालित करने के लिए है, आप जहाँ भी संभव हो जानकारी के लिए उपयोगकर्ताओं को संकेत देने से बचना चाहते हैं। इसके साथ ही कहा गया है कि ऐसे समय आने वाले हैं जहाँ आप इससे बच नहीं सकते हैं, और उन समयों के लिए हमारे पास रीड-होस्ट सीएमडीलेट है। इसका उपयोग करना वास्तव में सरल है:
$ FirstName = Read-Host -Prompt 'अपना पहला नाम दर्ज करें'
आप जो भी दर्ज करते हैं वह फिर चर में सहेजा जाएगा.
राइटिंग-आउटपुट cmdlet के साथ आउटपुट लिखना उतना ही आसान है.
लिखो-आउटपुट "हाउ टू गीक रॉक्स!"
कल हमसे जुड़ें जहां हमने जो कुछ भी सीखा है उसे एक साथ बाँध लें!