Administração de Linux
medium

Administração de Linux Question #019e3987

Question Statement
Administração de Linux
#read
#while-loop
#variable-splitting
#word-splitting
#echo
Medium

Qual será a saída da seguinte sequência de comandos?

echo '1 2 3 4 5 6' | while read a b c; do
echo result: b $a;
done

A

result: 3 4 5 6 2 1

Correct
B

result: 1 2 3 4 5 6

C

result: 6 5 4

D

result: 6 5 4 3 2 1

E

result: 3 2 1

Official Explanation / Community Explanations

A sequência de comandos usa um loop while com read para processar uma string de números. O comando read lê a entrada em variáveis, dividindo por espaços em branco. Por padrão, read atribui a primeira palavra à primeira variável, a segunda palavra à segunda variável e as palavras restantes à última variável. Aqui, a, b e c são especificados. A string de entrada é '1 2 3 4 5 6'. A primeira palavra 1 vai para a, a segunda palavra 2 vai para b, e o restante 3 4 5 6 vai para c. O comando echo imprime result: $c $b $a, que se torna result: 3 4 5 6 2 1. Esta é a única iteração porque a entrada é uma única linha. A saída é result: 3 4 5 6 2 1.