Pular para o conteúdo principal

Questão de Sistemas Operacionais — Unix — Avança SP 2024

Sistemas OperacionaisUnix
Código
qg078055
Banca
Avança SP
Órgão
CISBRA - SP
Ano
2024
Nível
Superior
Cargo
Analista em T.I
Quando, em um script shell, realiza a leitura da entrada, ele executa uma sequência de operações. Se a entrada indicar o início de um comentário, o shell ignora o símbolo de comentário ____ e o resto dessa linha.Analise e indique a alternativa que melhor preenche a lacuna no texto acima.
  1. A/
  2. B#
  3. C<
  4. D>
  5. E!
Revelar gabarito e comentário

GabaritoB — #

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”.

Comentários em scripts shell

Gabarito: letra B. Em scripts shell (bash, sh, etc.), o caractere # marca o início de um comentário: tudo o que vier depois dele na mesma linha é ignorado pelo interpretador. Essa é uma regra fundamental da sintaxe de shell, presente em todos os shells derivados do Bourne shell.

O shell é o interpretador de comandos do Unix/Linux, responsável por ler as linhas digitadas pelo usuário ou contidas em um script e executá-las. Durante a leitura, ele realiza uma análise léxica da linha, identificando palavras, operadores e caracteres especiais. Quando encontra o símbolo # (desde que não esteja entre aspas ou precedido por escape), o shell descarta o restante da linha, tratando-o como comentário. Isso permite que o programador insira explicações e anotações no código sem afetar a execução.

A origem do # como comentário remonta aos primeiros shells Unix, e sua adoção foi consolidada no shell Bourne (sh), que serviu de base para o bash (Bourne Again SHell), o shell padrão na maioria das distribuições Linux. Outros shells, como csh, ksh e zsh, também utilizam o mesmo caractere, garantindo portabilidade entre scripts.

É importante distinguir o # de outros símbolos que têm funções diferentes no shell:

Símbolo

Função

Exemplo

#

Início de comentário

# isto é um comentário

>

Redireciona a saída padrão para um arquivo (sobrescreve)

ls > lista.txt

<

Redireciona a entrada padrão a partir de um arquivo

sort < dados.txt

!

Expansão de histórico (em shells interativos) ou negação em expressões

!! (repete último comando)

/

Separador de diretórios em caminhos

/home/usuario/arquivo

A pegadinha desta questão está em confundir o # com outros símbolos que aparecem com frequência em comandos shell. O candidato pode lembrar que > e < são usados para redirecionamento, e ! para histórico, mas o único que inicia comentário é o #. Além disso, é comum que iniciantes confundam o # com o // usado em outras linguagens (como C, Java, JavaScript), mas no shell o comentário é sempre com #.

Na prática, ao escrever um script, o programador pode usar comentários para documentar o propósito de cada seção, explicar a lógica de um comando complexo ou temporariamente desativar uma linha. O shell ignora completamente essas linhas, não as executando. Por exemplo:

#!/bin/bash
# Este script calcula a soma de dois números
read -p "Digite o primeiro número: " a
read -p "Digite o segundo número: " b
# soma = a + b
soma=$((a + b))
echo "A soma é: $soma"

Aqui, as linhas que começam com # são ignoradas, enquanto as demais são executadas normalmente. Note que a primeira linha #!/bin/bash é um caso especial: ela indica qual interpretador deve ser usado para executar o script, mas também é tratada como comentário pelo shell.

Portanto, a alternativa correta é a letra B, pois o símbolo que inicia um comentário em shell é o #.

Alternativa A — ❌ Incorreta

O símbolo / é utilizado como separador de diretórios em caminhos de arquivos (ex.: /home/usuario) e também em operações de divisão em expressões aritméticas. Não tem relação com comentários.

Alternativa B — ✅ Correta ⟵ GABARITO

O # é o caractere que inicia um comentário em scripts shell. Tudo o que vier após ele na mesma linha é ignorado pelo interpretador. Essa é uma regra universal nos shells Unix/Linux.

Alternativa C — ❌ Incorreta

O símbolo < é usado para redirecionar a entrada padrão de um comando a partir de um arquivo (ex.: sort < dados.txt). Não inicia comentários.

Alternativa D — ❌ Incorreta

O símbolo > é usado para redirecionar a saída padrão de um comando para um arquivo, sobrescrevendo-o (ex.: ls > lista.txt). Não inicia comentários.

Alternativa E — ❌ Incorreta

O símbolo ! é usado no shell para expansão de histórico (ex.: !! repete o último comando) e também em expressões de negação (ex.: if [ ! -f arquivo ]). Não inicia comentários.

Gabarito: letra B

Link permanente: /questoes/qg078055