Questão de Sistemas Operacionais — Unix — Avança SP 2024
- Código
- qg078055
- Banca
- Avança SP
- Órgão
- CISBRA - SP
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista em T.I
- A/
- B#
- C<
- D>
- E!
GabaritoB — #
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 |
|
| Redireciona a saída padrão para um arquivo (sobrescreve) |
|
| Redireciona a entrada padrão a partir de um arquivo |
|
| Expansão de histórico (em shells interativos) ou negação em expressões |
|
| Separador de diretórios em caminhos |
|
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 #.
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.
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.
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.
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.
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