Geek School: apprendimento di variabili PowerShell, input e output

Sommario:

Geek School: apprendimento di variabili PowerShell, input e output
Geek School: apprendimento di variabili PowerShell, input e output

Video: Geek School: apprendimento di variabili PowerShell, input e output

Video: Geek School: apprendimento di variabili PowerShell, input e output
Video: How to install MinGW w64 on Windows 10/11 [2023 Update] MinGW GNU Compiler | C & C++ Programming - YouTube 2024, Aprile
Anonim
Quando ci spostiamo dal semplice comando in esecuzione e passiamo alla scrittura di script completi, è necessario un luogo temporaneo per archiviare i dati. È qui che entrano le variabili.
Quando ci spostiamo dal semplice comando in esecuzione e passiamo alla scrittura di script completi, è necessario un luogo temporaneo per archiviare i dati. È qui che entrano le variabili.

Assicurati di leggere gli articoli precedenti della serie:

  • Scopri come automatizzare Windows con PowerShell
  • Imparare a utilizzare i cmdlet in PowerShell
  • Apprendimento Come utilizzare gli oggetti in PowerShell
  • Apprendimento della formattazione, del filtro e del confronto in PowerShell
  • Impara a utilizzare i servizi remoti in PowerShell
  • Utilizzo di PowerShell per ottenere informazioni sul computer
  • Lavorare con le raccolte in PowerShell

E rimanete sintonizzati per il resto della serie per tutta la settimana.

variabili

La maggior parte dei linguaggi di programmazione consente l'uso di variabili, che sono semplicemente contenitori che contengono valori. In PowerShell, anche noi abbiamo variabili e sono davvero facili da usare. Ecco come creare una variabile chiamata "FirstName" e dargli il valore "Taylor".

$FirstName = “Taylor”

La prima cosa che la maggior parte delle persone sembra chiedere è il motivo per cui mettiamo un segno di dollaro davanti al nome delle variabili, e questa è davvero una buona domanda. In realtà, il simbolo del dollaro è solo un piccolo suggerimento per la shell che vogliamo accedere al contenuto della variabile (pensate a cosa si trova all'interno del contenitore) e non al contenitore stesso. In PowerShell, i nomi delle variabili non includono il simbolo del dollaro, nel senso che nell'esempio precedente il nome delle variabili è in realtà "FirstName".

In PowerShell, puoi vedere tutte le variabili che hai creato nella variabile PSDrive.

gci variable:

Ciò significa che puoi eliminare una variabile dalla shell in qualsiasi momento:
Ciò significa che puoi eliminare una variabile dalla shell in qualsiasi momento:

Remove-Item Variable:FirstName

Le variabili non devono contenere neanche un singolo oggetto; puoi facilmente memorizzare più oggetti in una variabile. Ad esempio, se si desidera memorizzare un elenco di processi in esecuzione in una variabile, è sufficiente assegnargli l'output di Get-Process.

$Proc = Get-Process

Il trucco per capire questo è ricordare che il lato destro del segno di uguale è sempre valutato per primo. Ciò significa che puoi avere un'intera pipeline sul lato destro, se lo desideri.

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

La variabile CPUHogs ora conterrà i tre processi in esecuzione che utilizzano la maggior parte della CPU.

Quando hai una variabile contenente una collezione di oggetti, ci sono alcune cose da tenere presente. Ad esempio, chiamando un metodo sulla variabile verrà richiamato su ogni oggetto nella raccolta.
Quando hai una variabile contenente una collezione di oggetti, ci sono alcune cose da tenere presente. Ad esempio, chiamando un metodo sulla variabile verrà richiamato su ogni oggetto nella raccolta.

$CPUHogs.Kill()

Quale ucciderebbe tutti e tre i processi nella raccolta. Se si desidera accedere a un singolo oggetto nella variabile, è necessario trattarlo come un array.

$CPUHogs[0]

Ciò ti darà il primo oggetto nella collezione.

Image
Image

Non farti prendere!

Le variabili in PowerShell sono debolmente tipizzate per impostazione predefinita, il che significa che possono contenere qualsiasi tipo di dati, questo sembra catturare sempre nuovi arrivati in PowerShell!

$a = 10

$b = ‘20’

Quindi abbiamo due variabili, una contiene una stringa e l'altra un intero. Quindi cosa succede se li aggiungi? In realtà dipende dall'ordine in cui li aggiungi.

$a + $b = 30

Mentre

$b + $a = 2010

Nel primo esempio, il primo operando è un intero, $ a, quindi PowerShell pensa che tu stia cercando di fare matematica e quindi cerchi di convertire anche qualsiasi altro operando in numeri interi. Tuttavia, nel secondo esempio il primo operando è una stringa, quindi PowerShell converte semplicemente il resto degli operandi in stringhe e li concatena. Gli scripters più avanzati prevengono questo tipo di gotcha lanciando la variabile al tipo che si aspettano.

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

Quanto sopra comporterà la variabile Numero contenente un oggetto intero con un valore di 5.

Ingresso e uscita

Poiché PowerShell ha lo scopo di automatizzare le cose, vorrai evitare di chiedere agli utenti informazioni per quanto possibile. Detto questo, ci saranno dei momenti in cui non è possibile evitarlo, e per quelle volte abbiamo il cmdlet di Read-Host. Usarlo è davvero semplice:

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

Qualsiasi cosa tu inserisca verrà quindi salvata nella variabile.
Qualsiasi cosa tu inserisca verrà quindi salvata nella variabile.
La scrittura dell'output è altrettanto semplice con il cmdlet Write-Output.
La scrittura dell'output è altrettanto semplice con il cmdlet Write-Output.

Write-Output “How-To Geek Rocks!”

Consigliato: