Geek School: Изучаване на PowerShell променливи, вход и изход



Тъй като се отдалечаваме от простото изпълнение на команди и преминаваме към писане на пълноценни скриптове, ще ви трябва временно място за съхранение на данни. Тук идват променливите.

Не забравяйте да прочетете предишните статии от поредицата:





И останете на линия за останалата част от поредицата през цялата седмица.

Променливи

Повечето езици за програмиране позволяват използването на променливи, които са просто контейнери, които съхраняват стойности. В PowerShell ние също имаме променливи и те са наистина лесни за използване. Ето как да създадете променлива, наречена FirstName и да й дадете стойността Taylor.



$FirstName = Тейлър

Първото нещо, което повечето хора изглежда, е защо поставяме знак за долар пред името на променливите и това всъщност е много добър въпрос. Наистина, знакът за долар е само малък намек за обвивката, че искаме да получим достъп до съдържанието на променливата (помислете какво е вътре в контейнера), а не до самия контейнер. В PowerShell имената на променливи не включват знака за долар, което означава, че в горния пример името на променливите всъщност е FirstName.

Реклама

В PowerShell можете да видите всички променливи, които сте създали в променливата PSDrive.



gci променлива:

Което означава, че можете да изтриете променлива от обвивката по всяко време:

Променлива за премахване на елемент:FirstName

Променливите също не трябва да съдържат един обект; можете също толкова лесно да съхранявате множество обекти в променлива. Например, ако искате да съхраните списък с работещи процеси в променлива, можете просто да й присвоите изхода на Get-Process.

$Proc = Get-Process

Номерът за разбиране на това е да запомните, че дясната страна на знака за равенство винаги се оценява първа. Това означава, че можете да имате цял тръбопровод от дясната страна, ако желаете.

$CPUHogs = Get-Process | Сортиране на процесора - низходящо | изберете -Първи 3

Променливата CPUHogs вече ще съдържа трите изпълнявани процеса, използващи най-много CPU.

Когато имате променлива, която съдържа колекция от обекти, трябва да знаете някои неща. Например, извикването на метод върху променливата ще доведе до извикването му на всеки обект в колекцията.

$CPUHogs.Kill()

Реклама

Което би убило и трите процеса в колекцията. Ако искате да получите достъп до един обект в променливата, трябва да го третирате като масив.

$ CPUHogs [0]

Ако направите това, ще получите първия обект в колекцията.

Не се хващайте!

Променливите в PowerShell са слабо въведени по подразбиране, което означава, че могат да съдържат всякакъв вид данни, това изглежда привлича новодошлите в PowerShell през цялото време!

$ a = 10

$ b = '20'

Така че имаме две променливи, едната съдържа низ, а другата цяло число. И така, какво ще стане, ако ги добавите? Всъщност зависи в кой ред ги добавяте.

$a + $b = 30

Докато

$b + $a = 2010 г

В първия пример първият операнд е цяло число, $a, така че PowerShell смята, че се опитвате да правите математика и следователно се опитва да преобразува всички други операнди също в цели числа. Във втория пример обаче първият операнд е низ, така че PowerShell просто преобразува останалите операнди в низове и ги конкатенира. По-напредналите скриптери предотвратяват този вид проблеми, като прехвърлят променливата към типа, който очакват.

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

И двете ще доведат до променливата Number, съдържаща целочислен обект със стойност 5.

Вход и изход

Тъй като PowerShell е предназначен да автоматизира нещата, вие ще искате да избягвате да подканвате потребителите за информация, когато е възможно. С това казано, ще има моменти, в които няма да можете да го избегнете и за тези моменти имаме командлета Read-Host. Използването му е наистина лесно:

$FirstName = Read-Host – Подкана „Въведете първото си име“

Реклама

Каквото и да въведете, тогава ще бъде запазено в променливата.

Записването на изход е също толкова лесно с командлета Write-Output.

Записване и извеждане на инструкции за Geek Rocks!

Присъединете се към нас утре, където ще обвържем всичко, което сме научили!

ПРОЧЕТЕТЕ СЛЕДВАЩО Снимка на профила на Тейлър Гиб Тейлър Гиб
Тейлър Гиб е професионален разработчик на софтуер с почти десетилетие опит. Той служи като регионален директор на Microsoft в Южна Африка в продължение на две години и е получил множество награди за MVP (Най-ценен професионалист) на Microsoft. В момента работи в R&D в Derivco International.
Прочетете пълната биография

Интересни Статии