Questão de Sistemas Operacionais — Geral — VUNESP 2023
- Código
- vu197483
- Banca
- VUNESP
- Órgão
- CIJUN
- Ano
- 2023
- Cargo
- Ana ( )
- ABOA PROVA
- BBoa PROVA
- CBoaProva
- DBoa pROVA
- EBoa Prova
GabaritoC — BoaProva
Gabarito: letra C. O comando echo -e Boa \bProva exibe BoaProva, pois a opção -e habilita a interpretação de sequências de escape, e \b (backspace) apaga o caractere anterior, removendo o espaço entre "Boa" e "Prova". Essa é a função documentada do comando echo no shell Bash.
O comando echo é um utilitário do shell que imprime texto na saída padrão (terminal). Por padrão, ele exibe exatamente os argumentos recebidos, separados por espaços, e adiciona uma quebra de linha ao final. A opção -e (enable interpretation of backslash escapes) faz com que o echo interprete sequências de escape iniciadas por barra invertida (\), em vez de tratá-las como texto literal. Entre essas sequências, \b representa o caractere backspace (ASCII 8), que, quando processado, apaga o caractere imediatamente anterior na saída.
No comando do enunciado, echo -e Boa \bProva, o shell primeiro interpreta as aspas e as barras invertidas: \b é convertido para \b (uma barra invertida seguida de 'b'), que é passado como argumento ao echo. Com a opção -e, o echo interpreta \b como backspace. Assim, ao processar a string "Boa \bProva", o backspace apaga o espaço que estava entre "Boa" e "Prova", resultando em "BoaProva".
Vamos simular a execução passo a passo:
O shell recebe o comando echo -e Boa \bProva.
O shell interpreta as aspas e as barras invertidas: \b vira \b (uma barra invertida literal seguida de 'b').
O echo é executado com a opção -e e os argumentos Boa, \b, Prova.
O echo processa os argumentos: imprime "Boa", depois encontra \b e aplica backspace (apaga o espaço que seria impresso entre os argumentos), depois imprime "Prova".
O resultado final é "BoaProva".
É importante notar que o backspace apaga o caractere anterior na saída, mas não remove o espaço que o shell insere entre argumentos — na verdade, o espaço é impresso e depois apagado pelo backspace. O efeito visual é que as palavras ficam coladas.
A pegadinha desta questão está em confundir o efeito de \b com outras sequências de escape, como \t (tabulação) ou \n (nova linha), ou em não saber que a opção -e é necessária para que a interpretação ocorra. Sem -e, o echo exibiria literalmente "Boa \bProva".
A banca explora a confusão entre \b (backspace) e outras sequências de escape. Muitos candidatos pensam que \b insere um espaço ou que a opção -e não altera o resultado. Lembre-se: \b apaga o caractere anterior, e -e é o que ativa essa interpretação. Com treino, você reconhece essas armadilhas de longe 💪.
BOA PROVA — Esta alternativa sugere que o comando converte tudo para maiúsculas, o que não ocorre. O echo não altera a caixa das letras; ele apenas imprime o texto como está. Além disso, o espaço entre as palavras seria mantido, não removido.
Boa PROVA — Esta alternativa mantém o espaço e altera a caixa de "Prova" para maiúsculas. Nenhuma dessas transformações é realizada pelo comando. O echo não modifica maiúsculas/minúsculas, e o espaço é apagado pelo backspace.
BoaProva — Esta é a saída correta. O \b (backspace) apaga o espaço entre "Boa" e "Prova", unindo as palavras. A opção -e é essencial para que o echo interprete a sequência de escape. Sem ela, o texto seria exibido literalmente como "Boa \bProva".
Boa pROVA — Esta alternativa sugere que apenas a primeira letra de "Prova" é maiúscula e o restante minúsculo, o que não corresponde ao comando. O echo não altera a capitalização das palavras; ele apenas imprime o texto fornecido, com o espaço removido pelo backspace.
Boa Prova — Esta alternativa sugere que o comando insere múltiplos espaços entre as palavras. Na verdade, o echo insere um único espaço entre argumentos, e o \b remove esse espaço, resultando em "BoaProva". Não há inserção de espaços adicionais.
Gabarito: letra C — O comando echo -e Boa \bProva exibe "BoaProva" porque \b (backspace) apaga o espaço entre as palavras, e a opção -e habilita a interpretação dessa sequência de escape.
Link permanente: /questoes/vu197483