गीक स्कूल: पॉवरशेल वैरिएबल, इनपुट और आउटपुट सीखना

विषयसूची:

गीक स्कूल: पॉवरशेल वैरिएबल, इनपुट और आउटपुट सीखना
गीक स्कूल: पॉवरशेल वैरिएबल, इनपुट और आउटपुट सीखना

वीडियो: गीक स्कूल: पॉवरशेल वैरिएबल, इनपुट और आउटपुट सीखना

वीडियो: गीक स्कूल: पॉवरशेल वैरिएबल, इनपुट और आउटपुट सीखना
वीडियो: India Alert | New Episode 555 | Jaanleva Padosan | जानलेवा पडोसानी | #DangalTVChannel - YouTube 2024, अप्रैल
Anonim
जैसे-जैसे हम आसानी से चलने वाले आदेशों से दूर चले जाते हैं और पूरी तरह से उड़ाए गए स्क्रिप्ट लिखते हैं, आपको डेटा स्टोर करने के लिए एक अस्थायी जगह की आवश्यकता होगी। यह वह जगह है जहां चर आते हैं।
जैसे-जैसे हम आसानी से चलने वाले आदेशों से दूर चले जाते हैं और पूरी तरह से उड़ाए गए स्क्रिप्ट लिखते हैं, आपको डेटा स्टोर करने के लिए एक अस्थायी जगह की आवश्यकता होगी। यह वह जगह है जहां चर आते हैं।

श्रृंखला में पिछले लेखों को पढ़ना सुनिश्चित करें:

  • PowerShell के साथ विंडोज स्वचालित करने के लिए जानें
  • PowerShell में Cmdlets का उपयोग करना सीखना
  • PowerShell में ऑब्जेक्ट्स का उपयोग कैसे करें सीखना
  • PowerShell में स्वरूपण, फ़िल्टरिंग और तुलना करना सीखना
  • PowerShell में रिमोटिंग का उपयोग करना सीखें
  • कंप्यूटर जानकारी प्राप्त करने के लिए PowerShell का उपयोग करना
  • PowerShell में संग्रह के साथ काम करना

और पूरे सप्ताह श्रृंखला के बाकी हिस्सों के लिए देखते रहें।

चर

अधिकांश प्रोग्रामिंग भाषा चर के उपयोग की अनुमति देती हैं, जो केवल कंटेनर हैं जो मान रखते हैं। पावरशेल में, हमारे पास चर भी हैं और वे उपयोग करना वास्तव में आसान हैं। "फर्स्टनाम" नामक एक चर बनाने का तरीका यहां दिया गया है और इसे "टेलर" मान दें।

$FirstName = “Taylor”

पहली बात यह है कि ज्यादातर लोग पूछते हैं कि हम चर नाम के सामने एक डॉलर का चिह्न क्यों डालते हैं, और यह वास्तव में एक बहुत अच्छा सवाल है। असल में, डॉलर का संकेत केवल खोल के लिए एक छोटा सा संकेत है कि हम चर की सामग्री (कंटेनर के अंदर क्या सोचते हैं) तक पहुंचना चाहते हैं और कंटेनर स्वयं नहीं। PowerShell में, परिवर्तनीय नामों में डॉलर चिह्न शामिल नहीं होता है, जिसका अर्थ है कि उपरोक्त उदाहरण में चर नाम वास्तव में "फर्स्टनाम" है।

PowerShell में, आप वेरिएबल PSDrive में बनाए गए सभी चर देख सकते हैं।

gci variable:

जिसका अर्थ है कि आप किसी भी समय खोल से चर को हटा सकते हैं:
जिसका अर्थ है कि आप किसी भी समय खोल से चर को हटा सकते हैं:

Remove-Item Variable:FirstName

चरों में एक ही वस्तु को शामिल करने की आवश्यकता नहीं है; आप एक चर में आसानी से एकाधिक वस्तुओं को स्टोर कर सकते हैं। उदाहरण के लिए, यदि आप एक चर में चल रही प्रक्रियाओं की एक सूची स्टोर करना चाहते हैं, तो आप इसे केवल गेट-प्रोसेस का आउटपुट असाइन कर सकते हैं।

$Proc = Get-Process

यह समझने की चाल यह याद रखना है कि बराबर चिह्न के दाईं ओर हमेशा मूल्यांकन किया जाता है। इसका मतलब यह है कि यदि आप चाहें तो दाएं हाथ की ओर एक पूरी पाइपलाइन हो सकती है।

$CPUHogs = Get-Process | Sort CPU -Descending | select -First 3

CPUHogs चर में अब सबसे अधिक CPU का उपयोग कर तीन चल रही प्रक्रियाएं होंगी।

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

$CPUHogs.Kill()

जो संग्रह में सभी तीन प्रक्रियाओं को मार देगा। यदि आप चर में एक ऑब्जेक्ट तक पहुंचना चाहते हैं, तो आपको इसे सरणी की तरह व्यवहार करना होगा।

$CPUHogs[0]

ऐसा करने से आपको संग्रह में पहली वस्तु मिल जाएगी।

Image
Image

पकड़े मत जाओ!

PowerShell में वेरिएबल्स को डिफ़ॉल्ट रूप से कम से कम टाइप किया जाता है जिसका अर्थ है कि उनमें किसी भी प्रकार का डेटा हो सकता है, ऐसा लगता है कि यह हर समय पावरशेल में नए कॉमर्स को पकड़ता है!

$a = 10

$b = ‘20’

तो हमारे पास दो चर हैं, एक में एक स्ट्रिंग है और दूसरा एक पूर्णांक है। तो अगर आप उन्हें जोड़ते हैं तो क्या होता है? यह वास्तव में इस बात पर निर्भर करता है कि आप उन्हें किस क्रम में जोड़ते हैं।

$a + $b = 30

जबकि

$b + $a = 2010

पहले उदाहरण में, पहला ऑपरेंड एक पूर्णांक है, $ ए, इसलिए पावरशेल सोचता है कि आप गणित करने की कोशिश कर रहे हैं और इसलिए किसी अन्य ऑपरेंड को पूर्णांक में बदलने की कोशिश भी करते हैं। हालांकि, दूसरे उदाहरण में पहला ऑपरेंड एक स्ट्रिंग है, इसलिए पावरशेल बस शेष ऑपरेटरों को तारों में बदल देता है और उन्हें जोड़ता है। अधिक उन्नत स्क्रिप्टर्स वैरिएबल को उस प्रकार के प्रकार से कास्ट करके इस तरह के गॉचा को रोकते हैं, जिसकी वे अपेक्षा कर रहे हैं।

[int]$Number = 5 [int]$Number = ‘5’

उपर्युक्त दोनों का परिणाम संख्या चर के साथ एक पूर्णांक वस्तु युक्त 5 के मान के साथ होगा।

इनपुट और आउटपुट

चूंकि पावरशेल चीजों को स्वचालित करने के लिए है, इसलिए आप जहां भी संभव हो, जानकारी के लिए उपयोगकर्ताओं को संकेत देने से बचना चाहते हैं। इसके साथ ही, ऐसे समय होने जा रहे हैं जहां आप इससे बच नहीं सकते हैं, और उन समय के लिए हमारे पास रीड-होस्ट cmdlet है। इसका उपयोग करना वास्तव में सरल है:

$FirstName = Read-Host –Prompt ‘Enter your first name’

जो कुछ भी आप दर्ज करेंगे, वह चर में सहेजा जाएगा।
जो कुछ भी आप दर्ज करेंगे, वह चर में सहेजा जाएगा।
लेखन आउटपुट लिखने-आउटपुट cmdlet के साथ उतना ही आसान है।
लेखन आउटपुट लिखने-आउटपुट cmdlet के साथ उतना ही आसान है।

Write-Output “How-To Geek Rocks!”

सिफारिश की: