Asignar resultado de command en una variable

Obtuve este extraño resultado hoy al asignar el resultado de un command en una variable.

Este command:

git branch | grep 480 

me da un resultado como este:

 branch_name_480 

dado que branch_name_480 es la única twig con 480 en él.

Pero cuando trato de hacer esto:

 temp=`git branch | grep 480` 

O esto:

 temp=$(git branch | grep 480) 

y después de eso: echo $temp esto no me da el resultado esperado, que debería ser el mismo que antes. En cambio, esto me da un resultado como all my directory listing and the expected result en una sola línea.

Sé que puedo hacer esto para get el resultado esperado:

 temp=$(echo 'git branch | grep 480') 

Entonces, mi pregunta es ¿por qué está pasando esto? ¿Por qué no estoy obteniendo el resultado esperado antes?

Use echo "$temp" .

El resultado de la git branch incluye un asterisco, que el shell expande a la list del directory. Citar evitará que haga eso.