Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — FGV 2024

Algoritmos e Estrutura de DadosAlgoritmos
Código
fg080015
Banca
FGV
Órgão
DNIT
Ano
2024
Nível
Superior
Cargo
Analista Administrativo Tecnologia da Informação
O script a seguir foi executado duas vezes por um usuário.!/bin/bash touch text.txtcat text.txtecho "# Este é um comentário" >> text.txtexitApós a segunda execução, ao abrirmos o arquivo text.txt, ele
  1. Aconterá a linha "# Este é um comentário", apenas.
  2. Bconterá duas linhas, a primeira em branco e a segunda com "# Este é um comentário".
  3. Cconterá duas linhas, ambas com "# Este é um comentário".
  4. Dconterá uma linha “# Este é um comentário” seguida de uma linha em branco.
  5. Eestará vazio.
Revelar gabarito e comentário

GabaritoC — conterá duas linhas, ambas com "# Este é um comentário".

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Script Shell: comportamento de touch, cat e echo

Gabarito: letra C. Após a segunda execução do script, o arquivo text.txt conterá duas linhas idênticas, ambas com o texto # Este é um comentário. Isso ocorre porque cada execução do comando echo com redirecionamento >> acrescenta uma nova linha ao final do arquivo. Na primeira execução, uma linha é adicionada; na segunda, outra linha é adicionada, resultando em duas linhas.

Análise do script

O script realiza as seguintes operações:

  1. touch text.txt – cria o arquivo se não existir (na primeira execução) ou atualiza seu timestamp (nas seguintes). Não altera o conteúdo.

  2. cat text.txt – exibe o conteúdo do arquivo (não afeta o arquivo).

  3. echo "# Este é um comentário" >> text.txt – acrescenta a string # Este é um comentário seguida de uma quebra de linha ao final do arquivo.

Primeira execução: o arquivo é criado vazio, depois recebe a primeira linha. Fica com uma linha. Segunda execução: o arquivo já possui uma linha; o echo acrescenta uma segunda linha. Fica com duas linhas.

Alternativas

  • Alternativa A – ❌ Incorreta. Afirma que conterá apenas uma linha, mas na verdade serão duas.

  • Alternativa B – ❌ Incorreta. Diz que a primeira linha será em branco, mas não há linha em branco; o touch não escreve nada e o cat apenas lê.

  • Alternativa C – ✅ Correta ⟵ GABARITO**. Conterá duas linhas, ambas com # Este é um comentário.

  • Alternativa D – ❌ Incorreta. Sugere que a primeira linha é o comentário e a segunda em branco, mas a segunda também é o comentário.

  • Alternativa E – ❌ Incorreta. Arquivo vazio não é possível, pois o echo sempre adiciona conteúdo.

NÃO CAIA NESSA!

A banca pode confundir o comportamento do touch (que não apaga o conteúdo) e do >> (que acrescenta, não sobrescreve). O candidato pode pensar que a primeira execução "resetou" o arquivo, mas não é o caso. Lembre-se: touch apenas altera timestamps; >> sempre adiciona ao final.

💡 Dica: Em scripts shell, redirecionamento > sobrescreve; >> acrescenta. O comando touch não modifica conteúdo.

Link permanente: /questoes/fg080015