Questão nº 63
Questão de Tecnologia da Informação · FGV DNIT 2024 (nº 63)
O script a seguir foi executado duas vezes por um usuário.
!/bin/bash
touch text.txt
cat text.txt
echo "# Este é um comentário" >> text.txt
exit
Após a segunda execução, ao abrirmos o arquivo text.txt, ele
- Aconterá a linha "# Este é um comentário", apenas.
- Bconterá duas linhas, a primeira em branco e a segunda com "# Este é um comentário".
- Cconterá duas linhas, ambas com "# Este é um comentário". (alternativa correta)
- Dconterá uma linha “# Este é um comentário” seguida de uma linha em branco.
- Eestará vazio.
Resposta comentada
Gabarito Alternativa C
Shell scripts executam comandos em sequência, e é fundamental entender como cada comando interage com arquivos, especialmente a diferença entre criar/tocar (`touch`), sobrescrever (`>`) e adicionar (`>>`) conteúdo.
(A) Incorreta: Esta alternativa seria correta se o comando `touch` apagasse o conteúdo do arquivo a cada execução, ou se o operador `>` (redirecionamento para sobrescrever) fosse usado em vez de `>>` (redirecionamento para adicionar). (Armadilha da banca: Confundir `touch` com esvaziar o arquivo ou `>>` com `>`.)
(B) Incorreta: Não há nenhum comando no script que insira uma linha em branco no arquivo.
(C) Correta: Na primeira execução, `touch text.txt` cria o arquivo vazio. `echo ... >> text.txt` adiciona a primeira linha. Na segunda execução, `touch text.txt` apenas atualiza a data/hora do arquivo existente, sem apagar seu conteúdo. Em seguida, `echo ... >> text.txt` adiciona a segunda linha ao final do arquivo, resultando em duas linhas idênticas.
(D) Incorreta: O comando `echo` adiciona uma quebra de linha após o texto, mas não há um comando para adicionar uma linha em branco separada após o conteúdo.
(E) Incorreta: O arquivo não estará vazio, pois o comando `echo ... >> text.txt` adiciona conteúdo a ele em ambas as execuções.
Fonte: FGV DNIT 2024 Analista Administrativo - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.