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.