Questão FC109027
Julgue o item a seguir, referente a linguagens de scripts. #!/bin/bash x=0 while [ $x !le 2 ] do echo valor: $x ((x++)) done O resultado do código shell script anterior será: valor
Unix e Linux
CEBRASPE (CESPE) · 2021
#!/bin/bash
x=0
while [ $x !le 2 ]
do
echo valor: $x
((x++))
done O resultado do código shell script anterior será:
valor: 3.Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
Comentário: Vamos analisar o código apresentado, que é um shell script. Ele inicia com a linha #!/bin/bash, que indica que estamos utilizando o Bash como interpretador. A seguir, a variável x é inicializada com o valor 0. O laço while tem a condição [ $x !le 2 ]. Aqui, encontramos um erro crucial: o operador !le é inválido. O operador correto para verificar se x é menor ou igual a 2 deveria ser -le. Portanto, a condição alterada seria [ $x -le 2 ]. Com essa correção, o loop executaria enquanto x fosse menor ou igual a 2.
O comando echo valor: $x exibiria o valor atual de x, enquanto ((x++)) incrementa este valor em 1. Quando x atinge o valor 3, o loop se encerraria e o script terminaria sua execução.
Assim, a afirmativa de que o resultado será valor: 3 é ERRADA, pois, quando x se torna 3, o loop não mais executaria, e o último valor impresso seria valor: 2. Portanto, fica claro que a interpretação da pergunta está incorreta.
Conteúdo do catálogo FC Concursos · Atualizado em