Não é possível definir uma variável de ambiente usando um script Bash [duplicado]

1

Eu quero definir uma variável de ambiente a partir de um script bash que eu escrevi. Então eu criei um script bash e chamei de set.sh . Seu conteúdo é o seguinte:

#!/bin/bash

export DEV_SRC="/home/m/mydata/sourecCode"
echo $DEV_SRC

Quando executo este script, a saída é

/home/m/mydata/sourecCode

Mas, se eu executar este código no mesmo terminal em que executei o script acima,

echo $DEV_SRC

Não consigo ver nenhum valor, por isso acho que o valor não é exportado.

Por que o valor não é exportado?

    
por mans 27.03.2018 / 11:54

1 resposta

5

Por padrão, bash cria uma cópia do ambiente atual, executa o script neste ambiente e, em seguida, destrói a cópia.

Para executar um script no ambiente atual você deve usar esta sintaxe:

. /home/m/mydata/sourecCode
echo $DEV_SRC

ou

source /home/m/mydata/sourecCode
echo $DEV_SRC
    
por Ova 27.03.2018 / 12:24