Como originar (ou executar) o resultado final

2

Estou tentando carregar variáveis de servidor de um arquivo (não .bash_* ) que é semelhante a:

export MY_VAR='foo'

O comando que eu estava usando para "source" era

'tail -1 myFile'

Isso funciona, mas eu echo $MY_VAR obtenho

'foo'

Mas, na verdade, eu executo export MY_VAR='foo' no terminal, então echo $MY_VAR ele gera:

foo

Por que a descrepância nas cotações e como eu corrijo isso?

    
por Jacob Valenta 26.04.2014 / 10:30

1 resposta

3

O uso de backticks é algo que é chamado de substituição de comando. O shell substitui depois de analisar os tokens na saída. Desde que encontrou citações na saída, escaparia daquelas. Como tal, seria executado:

export MY_VAR=\'foo\'

deixando a variável entre aspas.

Você pode, em vez disso, usar a substituição de processo e continuar usando o comando source :

source <(tail -1 myFile)
    
por 26.04.2014 / 11:02

Tags