Geek School: Aprendendo Variáveis do PowerShell, Entrada e Saída

Índice:

Geek School: Aprendendo Variáveis do PowerShell, Entrada e Saída
Geek School: Aprendendo Variáveis do PowerShell, Entrada e Saída

Vídeo: Geek School: Aprendendo Variáveis do PowerShell, Entrada e Saída

Vídeo: Geek School: Aprendendo Variáveis do PowerShell, Entrada e Saída
Vídeo: Como utilizar o IE Tab no Google Chrome com o fim do Internet Explorer - YouTube 2024, Maio
Anonim
À medida que nos afastamos da simples execução de comandos e passamos a escrever scripts completos, você precisará de um local temporário para armazenar dados. É aqui que as variáveis entram.
À medida que nos afastamos da simples execução de comandos e passamos a escrever scripts completos, você precisará de um local temporário para armazenar dados. É aqui que as variáveis entram.

Não deixe de ler os artigos anteriores da série:

  • Aprenda a automatizar o Windows com o PowerShell
  • Aprendendo a usar cmdlets no PowerShell
  • Aprendendo a usar objetos no PowerShell
  • Aprendendo a formatar, filtrar e comparar no PowerShell
  • Aprenda a usar o Remoting no PowerShell
  • Usando o PowerShell para obter informações do computador
  • Trabalhando com coleções no PowerShell

E fique ligado para o resto da série durante toda a semana.

Variáveis

A maioria das linguagens de programação permite o uso de variáveis, que são simplesmente contêineres que contêm valores. No PowerShell, também temos variáveis e elas são realmente fáceis de usar. Aqui está como criar uma variável chamada “FirstName” e dar a ela o valor “Taylor”.

$FirstName = “Taylor”

A primeira coisa que a maioria das pessoas parece perguntar é por que colocamos um cifrão na frente do nome das variáveis, e essa é realmente uma pergunta muito boa. Realmente, o cifrão é apenas uma pequena dica para o shell que queremos acessar o conteúdo da variável (pense o que está dentro do contêiner) e não o próprio contêiner. No PowerShell, os nomes das variáveis não incluem o cifrão, o que significa que, no exemplo acima, o nome das variáveis é, na verdade, “FirstName”.

No PowerShell, você pode ver todas as variáveis que você criou na variável PSDrive.

gci variable:

O que significa que você também pode excluir uma variável do shell a qualquer momento:
O que significa que você também pode excluir uma variável do shell a qualquer momento:

Remove-Item Variable:FirstName

As variáveis também não precisam conter um único objeto. você pode facilmente armazenar vários objetos em uma variável. Por exemplo, se você quiser armazenar uma lista de processos em execução em uma variável, basta atribuir a saída de Get-Process.

$Proc = Get-Process

O truque para entender isso é lembrar que o lado direito do sinal de igual é sempre avaliado primeiro. Isso significa que você pode ter um pipeline inteiro no lado direito, se quiser.

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

A variável CPUHogs agora conterá os três processos em execução usando a maior parte da CPU.

Quando você tem uma variável que contém uma coleção de objetos, há algumas coisas que você deve saber. Por exemplo, chamar um método na variável fará com que ele seja chamado em cada objeto na coleção.
Quando você tem uma variável que contém uma coleção de objetos, há algumas coisas que você deve saber. Por exemplo, chamar um método na variável fará com que ele seja chamado em cada objeto na coleção.

$CPUHogs.Kill()

Qual mataria todos os três processos na coleção. Se você quiser acessar um único objeto na variável, precisará tratá-lo como uma matriz.

$CPUHogs[0]

Fazendo isso, você terá o primeiro objeto na coleção.

Image
Image

Não seja pego!

Variáveis no PowerShell são fracamente digitadas por padrão, ou seja, elas podem conter qualquer tipo de dado, isso parece atrair novos visitantes para o PowerShell o tempo todo!

$a = 10

$b = ‘20’

Portanto, temos duas variáveis, uma contém uma string e a outra é um inteiro. Então, o que acontece se você adicioná-los? Na verdade, depende de qual ordem você os adiciona.

$a + $b = 30

Enquanto

$b + $a = 2010

No primeiro exemplo, o primeiro operando é um inteiro, $ a, então o PowerShell acha que você está tentando fazer matemática e, portanto, tenta converter outros operandos em números inteiros também. No entanto, no segundo exemplo, o primeiro operando é uma cadeia de caracteres, portanto, o PowerShell apenas converte o restante dos operandos em cadeias de caracteres e concatena-os. Os scripters mais avançados evitam esse tipo de pegadinha ao converter a variável para o tipo esperado.

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

O acima irá resultar na variável Number contendo um objeto inteiro com um valor de 5.

Entrada e saída

Como o PowerShell se destina a automatizar as coisas, você vai querer evitar que os usuários solicitem informações sempre que possível. Com isso dito, haverá momentos em que você não poderá evitá-lo e, nessas vezes, temos o cmdlet Read-Host. Usá-lo é muito simples:

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

Tudo o que você digitar será salvo na variável.
Tudo o que você digitar será salvo na variável.
A saída de escrita é tão fácil com o cmdlet Write-Output.
A saída de escrita é tão fácil com o cmdlet Write-Output.

Write-Output “How-To Geek Rocks!”

Recomendado: