Geek škola učenje PowerShell varijable, ulaz i izlaz
Kako se udaljavamo od jednostavnog pokretanja naredbi i prelazimo u pisanje skrivenih skripti, trebat će vam privremeno mjesto za pohranu podataka. Ovdje dolaze varijable.
Svakako pročitajte prethodne članke iz serije:
- Saznajte kako automatizirati sustav Windows pomoću programa PowerShell
- Učenje korištenja Cmdletova u PowerShell-u
- Učenje korištenja objekata u programu PowerShell
- Učenje oblikovanja, filtriranja i uspoređivanja u programu PowerShell
- Naučite kako koristiti daljinski rad u programu PowerShell
- Upotreba PowerShell-a za dobivanje informacija o računalu
- Rad s zbirkama u programu PowerShell
Ostanite u tijeku cijeli tjedan.
Varijable
Većina programskih jezika dopušta korištenje varijabli, koje su jednostavno spremnici koji drže vrijednosti. U programu PowerShell i mi imamo varijable i one su stvarno jednostavne za korištenje. Evo kako stvoriti varijablu "FirstName" i dati joj vrijednost "Taylor".
$ FirstName = "Taylor"
Prvo što većina ljudi pita je zašto stavljamo znak dolara ispred imena varijabli, a to je zapravo vrlo dobro pitanje. Stvarno, znak dolara je samo mali nagovještaj ljuske da želimo pristupiti sadržaju varijable (mislim što je unutar spremnika), a ne sam kontejner. U PowerShellu imena varijabli ne uključuju znak dolara, što znači da je u gornjem primjeru ime varijable zapravo "FirstName".
U programu PowerShell možete vidjeti sve varijable koje ste stvorili u varijabli PSDrive.
varijabla gci:
To znači da možete u bilo kojem trenutku i izbrisati varijablu iz ljuske:
Ukloni varijablu stavke: Ime
Varijable ne moraju sadržavati niti jedan objekt; možete jednako lako pohraniti više objekata u varijablu. Na primjer, ako želite pohraniti popis pokrenutih procesa u varijablu, možete mu samo dodijeliti izlaz Get-Process.
$ Proc = Get-Process
Trik za razumijevanje ovoga je zapamtiti da se desna strana znaka jednakosti uvijek prvo procjenjuje. To znači da možete imati cijeli cjevovod na desnoj strani ako želite.
$ CPUHogs = Get-Process | Sortiraj CPU -Descending | odaberite -Prvo 3
CPUHogs varijabla sada će sadržavati tri pokrenuta procesa koristeći najviše CPU.
Kada imate varijablu koja sadrži zbirku objekata, postoje neke stvari koje morate znati. Na primjer, pozivanje metode na varijablu uzrokovat će njezino pozivanje na svaki objekt u zbirci.
$ CPUHogs.Kill ()
Što bi ubilo sva tri procesa u zbirci. Ako želite pristupiti jednom objektu u varijabli, morate ga tretirati kao niz.
$ CPUHogs [0]
Na taj ćete način dobiti prvi objekt u zbirci.
Nemojte ga uhvatiti!
Varijable u PowerShellu su slabije tipkane po defaultu, što znači da mogu sadržavati bilo koju vrstu podataka, što čini se da stalno privlači nove korisnike na PowerShell!
$ a = 10
$ b = '20'
Dakle, imamo dvije varijable, jedna sadrži niz, a drugi cijeli broj. Što će se dogoditi ako ih dodate? To zapravo ovisi o tome kojim redoslijedom ih dodajete.
$ a + $ b = 30
Dok
$ b + $ a = 2010
U prvom primjeru, prvi operand je cijeli broj, $ a, tako da PowerShell misli da misli da pokušavate napraviti matematiku i stoga pokušava pretvoriti bilo koje druge operande u integers. Međutim, u drugom primjeru prvi operand je niz, tako da PowerShell samo pretvara ostatak operanda u nizove i povezuje ih. Napredniji skriptari sprječavaju ovu vrstu zahvata bacajući varijablu na tip koji očekuju.
[int] $ Number = 5
[int] $ Number = '5'
Gore navedeno će rezultirati brojčanom varijablom koja sadrži cijeli objekt s vrijednošću 5.
Ulaz i izlaz
Budući da je PowerShell namijenjen za automatizaciju stvari, htjet ćete izbjeći poticanje korisnika na informacije gdje god je to moguće. S tim u vezi, bit će trenutaka kada ga ne možete izbjeći, a za ta vremena imamo i Read-Host cmdlet. Upotreba je stvarno jednostavna:
$ FirstName = Read-Host -Prompt 'Unesite svoje ime'
Sve što unesete bit će spremljeno u varijablu.
Izlaz pisanja jednako je jednostavan s cmdlet-om Write-Output.
Write-Output "Kako da Geek Rocks!"
Pridružite nam se sutra gdje ćemo povezati sve što smo naučili zajedno!