Eu tenho um arquivo de texto que geralmente é preenchido com várias linhas que quero "imprimir" com um loop while. O texto dentro deste arquivo contém variáveis - meu problema é que essas variáveis não são interpretadas ao contrário de uma string de teste semelhante contendo variáveis armazenadas dentro do script. É possível também interpretar essas variáveis do meu arquivo externo ou tenho que analisá-las antes, etc.? Qual é a diferença entre $LINE_INSIDE
e $LINE_OUTSIDE
? Eu tentei algumas sugestões de outras perguntas como ${!varialbe_name}
e construções diferentes com sinais de aspas, mas sem sorte até agora.
#!/bin/bash
# color.sh
BLUE='\033[1;34m'
NC='\033[0m' # No Color
LINE_INSIDE="${BLUE}Blue Text${NC}"
echo -e ${LINE_INSIDE}
while read LINE_OUTSIDE; do
echo -e ${LINE_OUTSIDE}
done < text_file
Resultado:
Informações Adicionais: Eu (de fato) também tenho comandos shell no meu arquivo de texto de entrada que não devem ser executados. Apenas as variáveis devem ser expandidas.