Como o código do PowerShell funciona

Concluído

Para ajudar a entender como o código funciona, é necessários falar sobre o que é um programa. Também precisamos explicar o que é uma linguagem de programação e como isso comunica comandos ao seu computador.

Observação

Este exercício é opcional. Se você quiser concluir este exercício, precisará criar uma assinatura do Azure antes de começar. Se você não tiver uma conta do Azure ou não quiser criar uma no momento, leia as instruções para entender as informações que estão sendo apresentadas.

O que é um programa?

Um programa é um conjunto de instruções que realizam tarefas de computação. As instruções são compiladas em um formato que o computador pode entender e, em seguida, executadas por um usuário. Um usuário pode ser uma pessoa ou outro programa. O computador executa as instruções em ordem, uma linha por vez, até que não haja mais linhas a serem executadas ou que o programa explicitamente seja interrompido.

Até mesmo os programas mais básicos realizarão uma ou mais das seguintes tarefas:

  • Aceita entrada de uma fonte. A entrada inclui informações que:
    • Vêm de um usuário que está digitando um teclado ou selecionando controles em uma interface.
    • São recuperadas de um arquivo.
    • São chamadas de outro programa ou conexão de rede.
  • Processa informações que incluem:
    • Lógica de execução.
    • Executar cálculos matemáticos.
    • Manipular de entrada de dados para produzir novos dados.
  • Resultados de saída, que incluem informações que:
    • Exibidas em uma tela para um usuário.
    • Salvas em um arquivo.
    • Enviadas para outro programa.

Um programa pode assumir diferentes formas para finalidades diferentes. Um programa pode ser:

  • Um aplicativo autônomo, como um jogo, um editor de texto, um software de cobrança etc.
  • Um script, como uma macro avançada que é executada dentro de outro programa para automatizar determinadas funcionalidades.
  • Uma combinação de código ativo, equações e visualizações de dados.

Alguns programas, inclusive os exemplos deste módulo, precisam de apenas algumas linhas de código. Porém, programas complexos, como sistemas operacionais, precisam de dezenas de milhares ou às vezes milhões de linhas de código.

O que é uma linguagem de programação?

O trabalho de uma linguagem de programação é permitir que uma pessoa escreva instruções para um computador de maneira legível e compreensível. Os computadores reconhecem a linguagem de modo diferente do modo como as pessoas costumam entender. As linguagens de programação oferecem aos redatores de programa uma forma específica e menos complicada de fazer a interface com os computadores para lhes dar instruções. As instruções que você escreve em uma linguagem de programação são chamadas de código.

Há muitas linguagens de programação, cada uma com uma sintaxe diferente. No entanto, depois de aprender sua primeira linguagem de programação, você poderá aplicar muitos desses conceitos a cada nova linguagem que aprender.

O que é sintaxe?

Como qualquer linguagem falada ou escrita, as linguagens de programação têm as próprias regras gramaticais, conhecidas como sintaxe. A sintaxe de qualquer linguagem de programação inclui palavras-chave, operadores ou outros tipos de regras que podem ser específicas para essa linguagem.

Palavras-chave são palavras específicas reservadas pela linguagem de programação que têm significado e comportamento especiais. No PowerShell, muitas das palavras-chave são lidas como no inglês. Por exemplo, if, while, e return são palavras-chave que você pode usar para escrever códigos no PowerShell e em muitas outras linguagens.

Os operadores são caracteres especiais, como parênteses (()) e sinais de igual (=). Esses caracteres dizem ao computador para executar operações matemáticas, relacionais ou lógicas específicas para produzir um resultado.

Ao digitar seu código no terminal do Cloud Shell na unidade anterior, você provavelmente notou pequenas alterações de cor do texto e dos símbolos. Essa codificação por cores é chamada de realce de sintaxe. Ao ler seu código, o realce de sintaxe pode ajudar a detectar erros. Esse recurso está disponível e ainda mais robusto em muitos editores de código, como o Visual Studio Code.

Compilar código no PowerShell

Os computadores não são bons em ler nossos programas na forma como os escrevemos. As linguagens de programação precisam ser convertidas em uma forma que o computador possa entender. As linguagens de programação têm várias maneiras de fazer essa tradução.

Muitas linguagens de programação compilam código como uma etapa individual. Você escreve seu código, executa-o por meio de um programa especial chamado de compilador e o compilador produz um pacote executável para ser executado.

Outras linguagens, como o Python, têm um interpretador, que interpreta o código do computador e executa o código, uma linha por vez, conforme o interpreta.

O PowerShell funciona de um modo um pouco diferente e um pouco semelhante às abordagens compiladas e interpretadas.

O PowerShell é compilado em uma AST (árvore de sintaxe abstrata), primeiro na memória e então é executado. Porém, você não precisa se aprofundar aqui no uso do PowerShell. Tudo o que você precisa saber é que o computador verifica seu código primeiro na AST à medida que procura problemas importantes. Em seguida, se tudo estiver correto, o programa executa o programa sem a necessidade de um programa executável compilado. Essa abordagem é útil, pois garante que seu código seja executado corretamente antes que o computador o execute. Caso contrário, isso poderá fazer alterações e parar devido a um erro de sintaxe. Por outro lado, uma linguagem interpretada, como o Python, executa o código até encontrar algo errado na sintaxe.

Explorando o PowerShell

Um recurso importante do PowerShell é seu sistema de ajuda interno, que dá acesso rápido a informações sobre comandos do PowerShell. Se você tiver alguma dificuldade ao escrever, poderá procurar ajuda para comandos ou conceitos do PowerShell usando o comando Get-Help. Por exemplo, para ver todos os detalhes sobre o comando Write-Output, digite e execute o seguinte comando:

Get-Help -Name 'Write-Output' -Full

Get-Help é o comando a ser executado e Write-Output é o nome do comando para o qual obter ajuda. A opção -Full informa ao PowerShell para obter todas as informações para o comando especificado, incluindo uma descrição de comando, informações de parâmetro, exemplos e muito mais. Essas informações de ajuda estão acessíveis em qualquer terminal do PowerShell, incluindo o terminal do Azure Cloud Shell.

Se você quiser explorar todos os comandos que o PowerShell tem a oferecer, poderá usar Get-Command * para ver a lista completa. O asterisco (*) é um caractere curinga no PowerShell. Ele permite que você combine os padrões para localizar informações mais dinamicamente. Nesse caso, você usa * para filtrar todos os comandos disponíveis. Por exemplo, você pode obter todos os comandos que contêm User neles e, depois executar Get-Command *User*.

Outra característica excelente do PowerShell é que ele acompanha um shell integrado. Usando o shell, você pode testar seu código e interagir com a saída sem precisar executar o código sempre que quiser testar algo. Para garantir que seu código funcione conforme o esperado, você pode digitá-lo diretamente no terminal.