Interpolação de Strings no PowerShell
- O que são variáveis no PowerShell?
- Interpolação de Strings no Windows PowerShell
- Interpolação de Strings com Variáveis de Ambiente no PowerShell
- Interpolação de Strings com Caracteres de Escape no PowerShell
- Interpolação de Strings Usando Variáveis com Caracteres Especiais no PowerShell
- Interpolação de Strings Usando um Operador de Subexpressão no PowerShell
- Conclusão

A interpolação de strings no PowerShell é um recurso poderoso que facilita a formatação dinâmica de strings, incorporando valores de variáveis, expressões e comandos dentro de strings. Este guia abrangente se aprofunda nas intricacies da interpolação de strings, oferecendo insights detalhados, exemplos e aplicações práticas desse recurso.
A interpolação de strings substitui o valor de uma variável por marcadores em uma string. Além disso, o processo de interpolação de strings exibe o valor da variável na string.
A interpolação de strings no Windows PowerShell oferece uma sintaxe mais legível, fácil de ler e conveniente para criar uma string formatada. Este artigo discutirá o uso de variáveis durante a interpolação de strings no Windows PowerShell.
O que são variáveis no PowerShell?
Antes de discutir a interpolação de strings no Windows PowerShell, devemos primeiro discutir um dos requisitos críticos para alcançá-la: as variáveis do Windows PowerShell.
As variáveis no PowerShell servem como contêineres para armazenar dados, permitindo que os usuários armazenem informações e as manipulem ao longo da execução do script. Elas atuam como nomes simbólicos que representam um valor específico ou um objeto, fornecendo uma maneira de referenciar e trabalhar com dados dentro dos scripts do PowerShell.
Aspectos principais das variáveis no PowerShell:
Declaração e Nomenclatura
Declaração:
As variáveis no PowerShell são declaradas usando o símbolo $
seguido de um nome.
Exemplo:
$my_var = "Hello World!"
Regras de Nomenclatura:
- Devem começar com uma letra ou um sublinhado.
- Podem conter letras, números e sublinhados.
- Não diferenciam maiúsculas de minúsculas (
$variavel
e$Variavel
referem-se à mesma coisa).
Tipos de Dados
Tipagem Dinâmica:
O PowerShell utiliza tipagem dinâmica, permitindo que variáveis armazenem diferentes tipos de dados sem declaração explícita de tipo.
Exemplo:
$number = 10
$text = "Sample text"
Escopo
As variáveis podem ter diferentes escopos, determinando sua visibilidade e acessibilidade dentro de um script.
Local: Limitado ao escopo ou função atual.
Script: Visível em todo o script atual.
Global: Acessível em toda a sessão do PowerShell.
Atribuição e Modificação
Atribuição:
As variáveis recebem valores usando o operador de atribuição (=
).
Exemplo:
$myVariable = "New value"
Modificação:
As variáveis podem ser modificadas atribuindo novos valores ou alterando os existentes.
Exemplo:
$number = $number + 5
Usaremos essas variáveis para realizar a interpolação de strings no Windows PowerShell.
Interpolação de Strings no Windows PowerShell
A interpolação de strings refere-se ao processo de incorporar variáveis, expressões ou comandos diretamente dentro de strings para gerar conteúdo dinâmico.
Sintaxe Comum:
- Strings entre aspas duplas (
"..."
): Strings delimitadas por aspas duplas permitem a interpolação de strings. - Sintaxe de Interpolação:
$variavel
,$($expressao)
e$(comando)
Interpolando Variáveis
Vamos entender com um exemplo de conexão de string usando interpolação de strings no Windows PowerShell.
Código de Exemplo:
$company = "XYZ Company"
Write-Output "Welcome to $company"
No script do PowerShell acima, a variável $empresa
contém o valor de string XYZ Company
. Dentro das aspas duplas ""
, o Windows PowerShell interpola o nome da variável de string e exibe o resultado abaixo na seguinte afirmação.
Saída:
Welcome to XYZ Company
Se colocarmos um nome de variável entre aspas simples, ''
, ele exibirá o nome da variável, conforme mostrado abaixo.
Código de Exemplo:
$company = "XYZ Company"
Write-Output 'Welcome to $company'
Saída:
Welcome to $company
Essa saída ocorre porque qualquer coisa delimitada por uma aspa simples trata qualquer conteúdo interno como uma expressão literal. Portanto, certifique-se de estar usando aspas duplas ao interpolar uma string.
Interpolando Expressões
$age = 25
Write-Host "In five years, I'll be $($age + 5) years old."
A interpolação de strings, denotada por $()
, permite a inclusão de valores de variáveis ou expressões dentro de uma string. Nesse caso, ela calcula dinamicamente a idade futura ao adicionar 5
ao valor armazenado na variável $idade
, tornando a saída dinâmica e refletindo a idade esperada após cinco anos.
Interpolando Comandos
$currentDate = Get-Date
Write-Host "The current date is $(Get-Date)."
O resultado mostrará a data e hora atuais no instante em que a linha Write-Host
é executada, incorporando dinamicamente o valor atualizado do cmdlet Get-Date
dentro da string por meio da interpolação.
Interpolação de Strings com Variáveis de Ambiente no PowerShell
As variáveis de ambiente são valores nomeados dinâmicos armazenados no sistema operacional, contendo informações sobre o ambiente do sistema, preferências do usuário e configurações.
As variáveis de ambiente, representadas pela variável Env:
no Windows PowerShell, armazenam o ambiente do sistema operacional e programas. Essas informações incluem o caminho do sistema operacional, a localização do diretório de instalação do Windows, o número de processos utilizados pelo sistema operacional e muito mais.
Variáveis de Ambiente Comuns:
$env:NOME_DE_USUÁRIO
: Representa o nome de usuário do usuário atual.$env:NOME_DO_COMPUTADOR
: Armazena o nome do computador.$env:TEMP
: Especifica o diretório de arquivos temporários.$env:CAMINHO
: Contém os caminhos dos arquivos executáveis do sistema.
No Windows PowerShell, variáveis de ambiente podem ser interpoladas dentro de uma string como outras variáveis padrão.
Código de Exemplo:
Write-Output "My computer name: $Env:COMPUTERNAME"
No script do PowerShell acima, $Env:COMPUTERNAME
exibe um valor de variável entre aspas duplas e o concatena com uma string.
Saída:
My computer name: WINDOWS-PC01
Interpolação de Strings com Caracteres de Escape no PowerShell
Apesar de discutirmos que devemos usar aspas duplas durante a interpolação de strings, existem certos casos em que colocar uma variável entre aspas duplas não fornece os resultados esperados. Um exemplo disso são os caracteres de escape.
Um caractere de escape é um tipo de caractere que invoca uma interpretação alternativa dos caracteres seguintes em uma sequência de caracteres. Caracteres de escape são comuns entre linguagens de programação, pois certos símbolos são usados quando compilados programaticamente.
Os caracteres de escape no PowerShell são sequências especiais usadas para representar caracteres que podem ter significados especiais dentro de strings. Eles permitem a inclusão de caracteres especiais ou controle de formatação dentro de strings.
Caracteres de Escape Comuns:
- Acento grave (`): Usado para escapar caracteres que têm significados especiais.
- Aspas Duplas (
"
): Permitem a interpolação e a avaliação de expressões dentro de strings entre aspas duplas. - Nova linha (``n`): Representa um caractere de nova linha.
- Tabulação (``t`): Insere uma tabulação horizontal.
- Retorno de Carro (``r`): Move o cursor para o início da linha.
Por exemplo, no Windows PowerShell, um sinal de dólar $
é um dos operadores mais comuns usados para definir uma variável. Usaremos o sinal de dólar como exemplo abaixo.
Código de Exemplo:
$price = 99
Write-Output "Discounted Price: $$price"
No script do Windows PowerShell acima, $preco
dentro de aspas duplas não fornece a saída esperada porque o ambiente de script interpreta sinais duplos de dólar $$
de maneira diferente.
Saída:
Discounted Price: Discounted Price: $$priceprice
Use o caractere de escape do Windows PowerShell para interpolação de strings abaixo para obter a saída desejada.
Código de Exemplo:
$price = 99
Write-Output "Discounted Price: `$$price"
Saída:
Discounted Price: $99
Interpolação de Strings Usando Variáveis com Caracteres Especiais no PowerShell
Como mencionado, nomes de variáveis que começam com um sinal de dólar $
podem incluir caracteres alfanuméricos e caracteres especiais. Variáveis no PowerShell podem conter caracteres especiais como acentos graves (`), sinais de dólar ($
) ou aspas ("
).
A melhor prática para definir variáveis é incluir apenas caracteres alfanuméricos e o caráter de sublinhado _
. Nomes de variáveis que incluam outros caracteres especiais, incluindo espaços, são difíceis de usar e devem ser evitados.
No entanto, não estamos dizendo que usar variáveis com caracteres especiais é impossível. Se a situação não puder evitar isso, podemos usar o sinal de dólar e chaves ${}
para escapar todos os caracteres especiais, incluindo espaços, em um nome de variável.
Código de Exemplo:
${this is a variable!} = "Hello"
Write-Output "${this is a variable!} World!"
Saída:
Hello World!
A variável ${isso é uma variável!}
, apesar de seu nome não convencional, é criada e atribuída o valor "Olá"
.
A interpolação de strings dentro do Write-Output
concatena o valor da variável com o texto " Mundo!"
, resultando na saída "Olá Mundo!"
.
Interpolação de Strings Usando um Operador de Subexpressão no PowerShell
O operador de subexpressão ($()
) no PowerShell permite a avaliação de expressões, comandos ou sub-scripts dentro de uma string.
No Windows PowerShell, podemos usar o operador de subexpressão $()
para executar uma expressão dentro de uma expressão como a interpolação de strings. Fazemos isso envolvendo qualquer expressão que executamos com um sinal de dólar e parênteses ()
.
Código de Exemplo:
$num1 = 10
$num2 = 5
Write-Output "$num1 + $num2 = $($num1+$num2)"
Saída:
10 + 5 = 15
A interpolação de strings inclui os valores de $num1
e $num2
como texto (10
e 5
, respectivamente) ao lado do resultado da operação aritmética (15
) obtida ao somar $num1
e $num2
.
Conclusão
O artigo explora a interpolação de strings do PowerShell, permitindo a formatação dinâmica de strings ao incorporar valores de variáveis, expressões e comandos dentro de strings. Ele cobre:
- Variáveis no PowerShell: Esses contêineres armazenam vários tipos de dados sem declaração explícita de tipo e seguem regras de nomenclatura específicas.
- Fundamentos da Interpolação de Strings: Envolve a incorporação de
$variaveis
,$($expressoes)
e$(comandos)
dentro de strings entre aspas duplas para conteúdo dinâmico. - Exemplos de Uso:
- Utilizando variáveis para conteúdo dinâmico dentro de strings.
- Incorporando variáveis de ambiente (
$Env:NOME_DA_VARIAVEL
) para informações relacionadas ao sistema. - Empregando caracteres de escape (`) para lidar com caracteres especiais ou formatação em strings.
- Criando e usando variáveis com caracteres especiais ou espaços utilizando a sintaxe
${}
. - Aproveitando o operador de subexpressão
$()
para cálculos complexos dentro de strings.
Compreender essas técnicas na interpolação de strings oferece aos usuários do PowerShell ferramentas poderosas para a criação dinâmica de strings, auxiliando na legibilidade e flexibilidade na formatação de scripts.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInArtigo relacionado - PowerShell String
- Array de Strings em PowerShell
- Como Converter um Objeto de Array em uma String no PowerShell
- Como Converter uma String Segura em Texto Simples no PowerShell
- Como Encontrar a Posição de uma Substring no PowerShell
- Como Escapar Aspas Simples e Aspas Duplas no PowerShell
- Como Extrair uma Substring do PowerShell de uma String