Questão nº 51

Questão de Tecnologia da Informação · FGV DATAPREV 2024 (nº 51)

FGV2024Analista de ProcessamentoTecnologia da Informação
Gabarito: Bver comentário ↓

Considere os seguintes trechos de código, um em PowerShell e outro em Shell Script (Bash), que possuem a mesma finalidade:

Figura da questão de Tecnologia da Informação

Ambos os códigos mostrados realizam a cópia de arquivos com a extensão .txt de uma pasta de origem para uma pasta de backup. Considerando o comportamento esperado de cada script, assinale a opção correta.

Resposta comentada

Gabarito Alternativa B

PowerShell é uma linguagem de script da Microsoft, nativa do Windows, que permite automatizar tarefas e gerenciar sistemas. Bash (Bourne Again SHell) é um interpretador de comandos e linguagem de script comum em sistemas Unix-like (Linux, macOS) e que pode ser usado no Windows através de ambientes específicos.

  • (A) Incorreta: Ambos os comandos, Copy-Item (PowerShell) e cp (Bash), não criam a pasta de destino automaticamente por padrão. Se a pasta C:\Backup ou /mnt/c/Backup não existir, ambos os scripts gerarão um erro. Para criar a pasta, seria necessário um comando adicional como New-Item -ItemType Directory -Force "C:\Backup" no PowerShell ou mkdir -p /mnt/c/Backup no Bash.
  • (B) Correta: O PowerShell é uma ferramenta nativa do sistema operacional Windows, vindo pré-instalado na maioria das versões modernas, o que permite a execução direta de seus scripts. Já o Bash é um shell Unix-like e, para ser executado no Windows, requer a instalação de um ambiente compatível, como o WSL (Windows Subsystem for Linux), Git Bash, Cygwin, ou similar.
  • (C) Incorreta: Os scripts estão corretos para a finalidade de copiar arquivos com a extensão .txt. A cópia recursiva (-Recurse no PowerShell ou -r no Bash) é necessária apenas para copiar diretórios e seus conteúdos, o que não é o caso aqui, pois o objetivo é copiar arquivos específicos.
  • (D) Incorreta: Armadilha da banca: Tanto o cp no Bash quanto o Copy-Item no PowerShell, por padrão, sobrescrevem arquivos existentes no destino sem pedir confirmação. Para evitar a sobrescrita ou pedir confirmação, seriam necessários parâmetros adicionais (ex: cp -i ou cp -n no Bash; Copy-Item -Confirm no PowerShell). Portanto, o Bash não é intrinsecamente mais seguro nesse aspecto.
  • (E) Incorreta: O PowerShell é uma linguagem interpretada, construída sobre o framework .NET, e não uma linguagem compilada no sentido tradicional (como C++ ou Java compilado para bytecode). O Bash também é uma linguagem interpretada. A performance de scripts para operações simples de arquivo geralmente depende mais da eficiência do sistema operacional e do hardware do que da natureza "compilada" ou "interpretada" da linguagem para essas tarefas específicas.

Fonte: FGV DATAPREV 2024 Analista de Processamento (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho