
paulo1205
(usa Ubuntu)
Enviado em 24/06/2016 - 17:59h
Se você quiser que o shell interprete a variável como um objeto só, você tem de colocar a avaliação do valor da variável entre aspas.
#!/bin/bash
var="1 2 3 4 5 FIM"
echo $var # Imprime “1 2 3 4 5 FIM”
echo "$var" # Imprime “1 2 3 4 5 FIM”
Isso não vale só para o comando
echo, mas para qualquer substituição de valor de variável feita pelo shell, em qualquer contexto.
Aliás, espaços não são os únicos candidatos a problemas. Outros caracteres especiais do shell continuam especiais quando resultam da expansão de variáveis, a não ser que você coloque a expansão entre aspas. Tais caracteres incluem tabulações, quebras de linha, asteriscos, pontos de interrogação e de exclamação, colchetes e chaves (e talvez mais alguns outros de que eu não me lembre).